The long-term goals of MeowCat
MeowCat's long-term goal is to solve these problems:
- unifying internet messaging systems: there are many ways of talking with people on the internet, each with their own strengths and weaknesses. What if there was one, with the best features of all of the others?
- incompatible data formats involve hassle, loss of markup information, and cognitive load
- anonymous public communication: people should be able to communicate in public with assured anonymity
- secure private communication: people should be able to communicate privately with assured privacy
1 Unifying internet messaging systems
Today there exist a number of systems/protocols that allow people to communicate on the internet. They can be categorised as either public services, where everyone can see a message, or private services where only some people can.
Public services include: Twitter, blogs (Wordpress, Blogger, Tumblr), Reddit, Usenet, bulletin boards, mailing lists, IRC
Private services include: email, Facebook, bulletin boards, mailing lists, instant messaging
For now, MeowCat is a public service only; later it will also be a private service.
Each of these service have their own strengths and weaknesses. What if there was one, with all the strengths of the others? One way to achieve that would be to have one set of data that could be viewed in multiple ways.
1.1 Multiple views of the same data
Views are an important feature of MeowCat, because they allow the same data to be viewed in multiple ways.
In MeowCat you can view all the head posts of a particular user (like a blog).
You can also view all recent posts with a particular tag.
You can view a particular thread (a head post and its replies).
You can view the context of a post, i.e. the posts that lead up to it.
2 Incompatible data formats
There are many different formats for writing and transmitting textual data between internet users. Converting between them is time-consuming, problematic, error-prone, and often loses information.
Each of these service have their own weaknesses. There is also the overall problem that they are disparate and don't fully interoperate. For example, different services allow different markup (Wordpress might use simplified HTML to write posts, some blogging systems use simplified HTML for comments, some are text only, some have their own conventions. Other services such as Reddit use Markdown, etc.). If you cut text from one service and paste it somewhere else, you may lose markup. These problems cause a lack of interoperability and an increased cognitive load.
Consider someone adding a comment on various online systems. If threy use markup (e.g. for a hyperlink or to quote some text, or put it in a bold font) then:
- for a Wordpress blog they’d use a subset of HTML, or possibly a wysiwyg editor
- for as MediaWiki wiki they'd use MediaWiki markup
- on Reddit they’d use the markdown markup language
- for a phpBB forum they’d use the BBCode markup language
- for email they might use HTML (or wysiwyg if composing the email in gmail) or they might not use markup at all because the intended recipient mightn’t be able to read it
And if you want to write the message on one system and then cut and paste it to another? Don’t bet on it working reliably without loss of information.
MeowCat will introduce a data format suitable for blogging, short essays, and wiki entries. To write messages, people will either write in the markup itself, or use a wysiwyg editor that comes with the system.
3 Anonymous public communication
Internet users want to communicate with each other. But sometimes, their communication threatens to reduce the power of powerful organisations, such as corporations and governments. These powerful organisations may want to punish internet users to deter such communication, but they can only do so if they can identify the individuals responsible.
If people can communicate anonymously, punishment becomes impossible and this type of attack against free speech can be thwarted.
MeowCat aims to guarantee anonymity and to use cryptographic protocols to provide authentication.
If communication is anonymous, then it follows that a reader doesn't know who wrote a message. So how can someone be sure that two separate messages were written by the same person? This is a problem caused by anonymity, and the solution is to use digital signatures so a user can verify that messages can from the same entity, even if they don't know who that entity is.
4 Secure private communication
There should be a way of communicating privately without anyone other than the intended recipient knowing what was communicated, or even who talked to who (to prevent traffic analysis).
Private services have the problem that it's hard for two people to communicate without a third party, such as a government, knowing that they have been in contact with each other and what they said. MeowCat will solve these problems using strong encryption and onion routing.