Friday, February 1, 2008

This isn't anything special.

[cell phone starts ringing]
[you hear it]
[you open it, if appropriate]
[you look at the screen and indicators]
[you see who the call is from]
[you choose to answer it or not]
[you decide to answer it]
[you press a button]
[the call connects]


I think, on average mostly any American person would be familiar with what a cell phone is and what it does.

Grandmothers get it. Its the new kind of their old rotary phone. Too many buttons. They don't actually use cell phones, but they get it. It's a telephone. Culture-starved midwest farmers get it. They've either got one or they've seen it on the tee-vee. Or at least they think it's some kind of walkie-talkie. Poor minority toddlers know Da-Da's calling on the daddy's-sound-comes-out-of-it-chew-toy. Top NYC professionals are on them constantly too. And everyone in between.

You've got a name, a mic., a speaker. You can trade voices with just about anyone. And just about everyone knows how to use them. Great.

That's how it should be for the successors of peer-to-peer sharing!

Sharing content with others should be as pervasive as making phone calls. It should be constant and instant and fall to hand with unmatched simplicity.

Keep the physical cell phone form factor for the time being. But get that solid state storage up there, boys! Should be rocking Azureus on the iPhone right now. Should learn some lessons from the one laptop per child program to see what can be learned about large-scale mesh networking.

Screw Azureus. Screw Treos. If you ask me every processing bit should always be running full tilt and never have wasted clock cycles. And every storage bit that we have should basically be full right now with incredible rich content to mash around. I'm talking about our near future: swapping HUGE amounts of data back and forth. Bandwidth is such a huge problem in the US.

All of your own digital voice, videos, photos, documents, 3D models--they're all available at your "phone number", your internet handle, whatever.

Where's it physically stored? Depends.

Probably some type of distributed filesystem. More on this later but basically, parts of your entire digital holdings can be stored on local physical memory in different places. You get something semi-central that keeps track of all your files'. It performs synchronizations, backups, balancing, caching, etc. to deal with constantly-changing device needs and content consumption. Some files on your 'cell phone,' some on your 'media center' at home, part on your husbands laptop, part on your work home folder, part on the fridge's built-in computer. That menu-maker on the refrigerator, by the way, acts as a digital picture frame too, and there's a couple photos on there too. You've got all kinds of media strewn about, people. We're looking at a messy future, but for now go with the distributed filesystem thing for 'you' or 'your family.' I'm not sure about how to "get at it all" in terms of a front end yet, I haven't thought about it.

But your cell phone should definitely blip if your friend calls you. It could show he's looking to download movie X. He saw it on your folder listing as movies being shared with friends.

If the movie's on your desktop at home, then maybe it'll automatically connect him through to do that, if the bandwidth makes sense. But this movie's stored only on your cell phone, because you downloaded it with your cell phone earlier, and you haven't been home, and your home system hasn't (up until this call decision) needed to manage bandwidth and storage. No need to try and get the home system involved. You've set it to not pull the movie off the phone during the day (via 3G or EDGE maybe) unless explicitly told to do so. It'll sync (maybe bluetooth) when you get home.

But now you've got the movie only on your cell phone, and your friend wants it. To get the file to him right now, it would need to use "conventional" wifi, the slow kind. In the future our wifi and 3G will be paltry, I hope, but this is the equivalent of bad reception. I expect there will be tradeoffs to future wireless technologies, like there are now.... So it would take "a while" for the movie to go from your phone to his, but it would go. It would just be slower. So you can tell him, or have the system automatically tell him why it predicts the call was not accepted.

Plus in theory the network fabric would be much more interesting. This example would work if it was a rarer file. Or everyone else had worse bandwidth than you. In a case like this the transfer will be permitted, but with very poor bandwidth. All the while it is attempting to optimize changing mesh network connections as the environment changes.

As in conventional peer to peer networks, all software bandwidth decisions are tradeoffs but there are probably plenty of people who already have movie X or parts of it. This call then equates to "I'm already downloading this movie from some slow peers but I wanted to to see if I could get it faster from your bandwidth, on account of you also being a contact." Your phone's reply is then either "Yeah I can seed, but it will not be any speed increase since I'm in a low-wifi zone." Or it will be "Can't contribute to seeding this file at all, in too-low bandwidth area." Maybe once you get back to the city the bandwidth will automatically boost it through. It can or can't all be done automatically by the filesystem and bandwidth managers.

Then you can grow these of course with a powerful set of permissions. A "call" shows you who's calling and what they want: if they want to talk, vidchat, get wedding pix you took, etc. Some things maybe you make public (CC) and people can browse your globally-shared files by looking at your online status (ID, phone number). To prevent everyone and machines from constantly hammering you for calls you obviously implement a system like current phone numbers. Not enough room here today to discuss filtering.

Anyways you can share/give/get/recommend/point-to any data with friends, family, and other types of contents. Obviously people in work group can only see your work files (some at the office mainframe, some from your laptop, and some on tablet you're updating now). I don't need to explain these things to you.

I dunno, I think I know more about bittorrent than the average person. But that really upsets me. I should know the same amount as most other people. Or in this case, they should all know, on average, about as much as I know.

I know how to connect and manage various types of downloads. I know how to port forward and how to change settings. I know how to get 4 people a I have used more than 14 different bittorrent clients but this isn't anything special. I would expect you have, too. I mean at least 8 or 10. I mean, you settled on one. You're using one. How did you get to it. I'm sure you're using one. I die by remembering most people have never heard bittorrent.

I challenge you, because I'm lazy.

To point me to a good bittorrent search site. One with lots of comments on every torrent, with tags, and features, and options. Lots of hits, friendly community, no BS. Clean layout, intuitive usage, no banner ads, no phishing, and really, no BS. If you know a good one let me know.

I don't care who you are, the current bittorrent is a piss-poor excuse, especially for the average person. Making a phone call and exchanging large-scale data should be equal in scope.

1 comment:

Shane G said...

In general I agree. I would note that as far as a "distributed file system" goes, there's probably an easier answer that accomplishes the same goals more effectively: store it in the cloud. By the cloud, I of course mean the internet. Tons of services are being rolled out currently (see amazon's S3 for a decent example) that provide near-100% uptime and easy access from anything with an internet connection (which should be everything). Why not just have the myriad devices access that? "Thin clients" are the key.