Skip to content

Basic Functionality

entron edited this page Feb 3, 2014 · 8 revisions

The following are the functions bitpub is expected to provide. If we realize later that it is impractical to implement everything listed here, some unimportant functions will be removed.

Publish a new message

Create, change and delete

  1. All user can create a new message, and later change or delete the message.
  2. Edit history is kept and can be viewed by everyone. The reason we do not put any restriction is because a follower can keep an eye on the user all the time and save all version of the message anyway.
  3. Deleted message will be removed from users publication list. However, same reason as above it will not be removed from the follower's device automatically. Therefore, one should think twice before publish anything just like in real life.

Authorship

  1. Message must contain verifiable authorship information.
  2. All messages published by a user (except later deleted ones) must be possible to trace without much difficulty.

Timestamps

The creation time of every message should have a way to verify. One way is using bitcoin's block chain. However, I would prefer a way not depending on one specific thing. There could be many different ways to timestamp messages. Once some of the message are timestamped, though the mentioning relation between messages, it maybe possible to timestamp even all messages.

Copyright Licence

  1. The default licence is Creative Commons Attribution-ShareAlike License.

Notification

  1. Followers will be updated when new message is published by the user of an existing message is updated.

Private message

Private message can only be seen by selected users. We do not intend to support this kind of message at the moment. The reasons are:

  • This kind of message has complete ZERO potential value to the whole public bitpub network.
  • With email, telephone and many other communication methods people can easily realize this function well. There is no advantage to use p2p network.
  • If one really wants to use a bitpub like p2p network for sending private messages. One can fork the bitpub protocol and add private message functionality and form a separate p2p network. Private messages are any way decoupled to the public network, so it does not make any difference to bitpub.

Reply to a message

  1. The label of the parent message should be contained in the replied message so that one can easily trace up.
  2. It should be possible to search replies to a certain message. TODO: the final implementation of this function should make sure that spam reply will be irrelevant and have not threat to the usability and the bitpub network while "good" reply has the possibility to be seen without too much effort.

Follow user and thread

  1. Follow user means receive update when the user publish or change a message.
  2. Follow a thread means receive update when a message has been replied. There are two kinds: one is only notified by direct replies and notified by both direct and indirect replies.
  3. Spam reply should be taken care of.

Up vote and down vote

  1. Up vote is not the same as "like" but to increase the possibility of a message be seen while down vote do the opposite.
  2. Implementation should make sure the spam vote is irrelevant.
  3. There are two special kinds of up vote:
  • Repost will up vote and let followers see the message.
  • Save will up vote and save the message until deleted manually. This means: First, even no online user has this message cached you can still have it, forever. Second, as long as you are online you can always transfer this message to others.
  1. One can up vote a user which means up vote all message from the user automatically.
Clone this wiki locally