What is P2P?
Wednesday, September 20, 2000 by Dave Winer.
I had a great dream last night. I was in a bar in Palo Alto. All kinds of interesting people were there. Smart software developers, rich venture capitalists, powerful reporters and analysts.
I was seated on the floor, on a nice mat, with a small table in front of me with flowers and copies of The Industry Standard and Business 2.0. I was dressed like Mahatma Gandhi, with a simple cloth that left my chest exposed. The room is quiet, people are seated, cellphones turned off, everyone is looking at me, and breathing deeply, as I was.
A young man, seated on the floor, puts the tips of his fingers on both hands together and nods his head slightly down. I return the gesture.
"Dave-ji, something has been troubling me, my life is not complete, I need to know what to do. I was wondering if you could help."
"If I can I will," I said.
"Dear Dave-ji, I need to know, what, oh what, is P2P?"
Here's what I said..
A very good question from such a young man!
Let us put our minds together and figure this out, so we can launch pre-IPO startups and cash out on the next big wave to hit after "open source" and B2B and B2C. It's important that we all make as much money as possible, why, I don't know, but let's do it anyway. You'll see, it'll be fun! (A little Dick Brass crept in there, remember it was a dream.)
I got up and went to the whiteboard and made a list.
First and foremost, the Web browser is going nowhere, like a cow in a crowded Calcutta square. Now that Microsoft owns the market, and the Web development world is thoroughly and permanently confused, there's no way to evolve HTML in any particular direction.
It's time for something new. There's a lot of power on the PC desktop that isn't being used. As I browse the Web on my 933 Mhz PC, the graph on the Performance Monitor barely blips. My 70 gigabyte hard drive has tons of free space. How to use all that power? User interface. Bring back lost concepts of the 80s, things like pull-down menus, cursors, mouse-tracking. Each of these can launch a new startup, with a patent to protect its innovative ideas stolen from apps of the 80s.
The one true path to peace is to fully enable each person's computer to be both a client and a server. Before we have riots in the streets of Delhi over this, please remember that many people who use the Internet are creative, and have something to say, and want to work with other smart people at different companies, and even with customers.
At home they have fast net connections, even if they have firewalls at work. As the PCs replaced the mainframes in the 80s, people can sneak a new DSL line into the office, if the firewall admins won't allow it, they will learn the lesson of being routed-around by users, once again. They will return to London, to plot new ways to control the masses, only to be thwarted once again by users who don't know better.
Please chant this mantra as you work on your balance sheet. It must be easy, it must be easy.
When you launch a P2P app, a dialog appears asking for your name, email address and password. A message is sent into the cloud, creating some shared space for the user. From there, the File menu works as you would expect, creating published documents and lists that are easy to write. Writing for the Internet must be as easy as writing for a printer.
No talking paper clips, please.
Napster does this by publishing your list of music. This says something about you. This is part of the fascination with Napster. We must try many ideas out, but don't start with the Microsoft Office apps, that would be like the British Empire ruling India. Start with simple apps, with small user interfaces, we get to start over once every generation. Start simple, it can get horribly complex later.
I took a deep breath and then wrote..
When I use a P2P app I want to see a list of other people who are using the same app, or browse lists of users of other apps who have compatible community features. When I double-click on a user I want to learn whether they are Hindu or Muslim. Right-click to start a chat, or link to a document of theirs from one of my documents.
Lots of people are excited, but so far I've not heard too many reasons why they're excited. I conclude that they *want* to be excited. That's why this item is here.
When peers communicate with peers we must do it in a compatible peace-loving way. The new protocols for cross-network communication between apps are perfect for P2P apps. Use the tools of the empire, but in a peace-loving non-violent way.
Study Sidekick, written by Philippe-ji and his students in 1985, and 1-2-3 by Kapor-ji and his brethren. While there's a server integrated, it must be transparently simple to create a new document and link it to others. Make it easy for users, things that are common are super-easy to do, even automatic. "Look what it just did!" the users will say. Then they will realize that "I did that!" At that point we will approach nirvana.
Again, we must study the work of Philippe-ji, and his Turbo Pascal teachings.
Programming doesn't need to be so hard. With the power of P2P comes the opportunity to create new customized tools for specialized communities, corporations, schools, publications, and pre-IPO Internet startups. Everyone can participate in the new wealth of the Internet, and we can forget the ways of the Empire, and give the power to write programs to the people.
Our motto will be "Not only do we let the users design the programs, we let them implement them too."
Then the technology industry will once again be about technology!
As the sun was rising a cricket chirped loudly outside my bedroom window, the bar room dream flickered in and out. I got up from bed, made some coffee, I just had to write this story. Like all dreams this isn't exactly how it went, but this is what I remember.
Have a great day!