Shark is a developers framework for semantic P2P applications. Why P2P? Why another framework?

Why P2P

P2P means Peer-to-Peer. A peer is often translated as a computer. A peer can also be a person, though. P2P means, that two persons mostly be means of computer exchange data. Exchange is done directly. The is no mediating server involved. That's the major difference to the WWW. P2P doesn't know client and server. Each peer can offer and seek for information. Peer communicate directy.

P2P isn't better per se. It is better in some applications classes, though. We belief P2P is much better for all kind of social and community applications and for most mobile applications. Why? There is a technical and a social answer.

P2P - technical perspective

A computer can exchange data with another computer. That's not new. It was invented in the 1970s and is called Internet. Mainframes ruled the world before Internet. Mainframes were huge computer of enormous costs and resource consumption. We are pretty sure you know what we are talking about. That was client-server computing at its best. Mainframe-Server on one side. Green and more or less cheap displays on the other side.

Internet changed all of this. The was no more server and client. Computer exchange data.

Another changed happened in 1989 when World Wide Web (WWW) was invented. First, it was a more convenient interface to computer who stored huge amounts of data. In following decades it became the ruling technology.

From technical perspective it is a step back in the 1960s. WWW server are a bottleneck. The cannot be reached from users if they are broken, down for maintenance or access was denied for whatever (e.g. political) reason and by whoever.

Let's take a social network which officially serves the purpose to allow users exchanging data. Why sending to a server first and retransmit the whole data again? Why not directly?

P2P has no central entity like a server. P2P systems cannot be shut down and access can hardly be denied. P2P systems are far more robust than client-server-systems. Internet was invented for that reason.

P2P - social perspective

A server stores data. Each unencrypted data on a server can be read by people how has access to the computer. Any data in social networks are unencrypted. Most data in dropbox systems are unencrypted. All those (private) data are open at least to systems providers. Most social networks don't even try hiding the real business case. Taking our private data and selling it.

Functionality that is useful to users is just a byproduct to keep us on that server. Of course, there are laws and contracts and lawyers and organisations etc. pp. who try to make our data safe again.

There is a simple rule, though: Data on a server will be used if it makes money, no matter if you like it or not. The simplest and only way to safe our data is this: Don't send private data to people you don't know. Don't send private data to computers you don't know. Don't send private data under contracts you don't understand.

Send private data directly to people you know. Do what human beings have ever done. Communicate your secrets directly. Most human communication is peer to peer communication. Speeches, published books are not. But is really each chat with a friend meant to be a public speech?

Why another framework

Building Web applications is very simple. It is a matter of hours creating a Webpage. in the last three decades, enormous efforts had been put in developing toolkits and frameworks to build web applications. Web apps can be build with nearly no IT know how.

It is totally different with P2P. There are just a few P2P frameworks and most of them require detailed knowledge of communication protocols.

The plan for Shark was simple and challenging: Writing a P2P application should be as easy as writing a Servlet. Writing a Servlet requires some IT know how. It doesn't require an IT degree, though. Shark is the same: IT insights are required. But writing a P2P applications takes as much time as writing a Servlet based application - after you have understood the technology. Developers guide and the Shark enthusiasts will help.