Existing software is listed on the software page and in Category:Software. This page is about potential future projects. You like PSYC? You wonder what you could contribute? Have a look at this list. Maybe something triggers your interest and creativity!

See also about Volunteers, Teams and a particularely nice work to be done, the CryptoChat.


Multicasting Filesystems

Multicast Userspace FS

implement a fuse user-space filesystem which generates psyc notifications as it is being used and does some extra useful jobs like store the files in some smart way (compressed, encrypted..) or even replicates the files over a multicast context to a flexible amount of peers (probably more efficient than unicast replication as it is generally commonplace).       (in essence suggested by Terminar)

<terminar> Even specific distributed commands should be sent over that filesystem (+ daemon), this will be used for some administration tasks.

This stuff is also mentioned on File sharing.

Virtual Common Filesystem

imagine several users working on a common set of files, which are no longer held on a common server but rather continously updated via multicasts. can get quite crazy and dangerous maybe, or maybe it is very useful to some specific purposes? since the changes are only transmitted in deltas, maybe the receiving entities could be smart enough to synchronize other people's changes into a file every time a user stops editing it.

Multicast Editing

or even signal the editor to integrate changes in realtime - which brings us to decentralized file editing. yes we know there are some fun editors which support this, but given multicasting, what if a hundred people were editing the same file? probably fun. and it might even work. psyc could provide for a simple API for decentralized file editing so that every text editor can be enhanced to support a common protocol for shared file editing. neato, huh?

<Monkey> This collaborative editor looks interesting: gobby
<lynX> Anybody go psyc it up quick!!  ;°)
<Kol_Panic> The fun part of that is operational transformations.

Google Wave stole the show? Yes. No. Etherpad did.  :-D

Edit TV

Seen the telnet stream of the football world championship? We have something much more exciting to offer. Realtime monitoring of any PSYC source code file as it is being edited. Should be interestingly chaotic when more than one file is being edited by several people. Alright, for once, this is just a joke.

<Monkey> This is actually a good idea. Google spreadsheet offers live editing with multiple users working on the same file. It's pretty interesting, really!
<coyo> i agree, collaborative editing of things like spreadsheets and source code sounds very cool and useful, despite the whiteboard effect ;3

PsycZilla LiveWiki

Add collaborative editing in the PsycZilla:LiveWiki editor.

Multicast Software Upgrades

See version control for thoughts on pushing software updates in PSYC contexts.

Simple HTTP authentication

It could even be just a CGI to start out with.. although a mod_psyc_auth would be nicer.. PSYC authentication of an HTTP request:

  1. ask for UNI if missing
  2. ask UNI if given browser/auth data matches the person
  3. redirect the person to the private data, or dump it directly

PSYC+Drupal Integration

Drupal is an open source Content Management System written in PHP.

Some work is being done to integrate Drupal with PSYC Authentication and PsycNotify.

See Drupal for more information.

Website Modification Notifier

und weil wir ja gateways aus der legacy-world lieben, habe ich von netscape-gott jwz einen hack gefunden, welcher websites abkrault, inhalte in RSS zusammenspeichert und dann mit nem anderen script RSS nach html wandelt. nun wenn man stattdessen eingesammelte und gefakte RSSe auf veränderungen checken würde, und diese dann als psyc notices ins psyc-system einspielt, dann hätte man doch endlich den erwünschten mehrwert ohne alle blogs der welt auf psyced umstellen zu müssen.. das ding ist in perl ohne zusatzmodule, so wie wir's mögen und mit perlpsyc zusammenarbeiten könnte. ... http://www.jwz.org/cheesegrater/ sicherlich gibt es noch viele andere web-ripper, aber die produzieren hinten kein RSS, naja wer will da eigentlich ernsthaft RSS noch dazwischen haben, lieber gleich PSYC events erzeugen. man könnte gleich mehrere davon betreiben um vielen content zu erfassen. das würde ganz viele hübsche /subscribe news-räume ergeben....

PSYC based mailing lists

See mailing lists.

SMTP Newscasts

See SMTP for ideas on translating e-mail alerts into newscasts, and other useful things a psyced SMTP gateway could be doing for us.

This can now be done, see SMTP and mailcast for more.

Various Newsfeeds

Orphaned implementations

bitkoenig's PSYC library in Java needs to be updated in syntax and method names. In fact there are more orphaned projects listed on the software page.

Things that can be extended to support PSYC

gateway Bitlbee to PSYC?

... und das hier scheint ne recht beliebte webchat-lösung zu sein. wir könnten den client so anpassen, dass er mit psyced funktioniert und zack hätten wir allen usern von chateverywhere eine viel potentere neue version zu bieten.. den psycchateverywhere!


überhaupt gibt es viele chat applets die man umbiegen könnte..


und dieser bot implementiert game server queries.. ist doch auch etwas was man ins psyc gatewayen könnte..


noch so multiprotokoll serverviecher:

       http://uncensored.citadel.org/citadel/  (IMAP?)

LimeWire hat eine Bounty laufen um Jabber oder aehnliches zu implementieren


Public API gateways

http://programmableweb.com/apis runs a collection of open APIs that may make sense to combine with PSYC multicasting. there may be some political issues with this. decide wisely.

PSYC & Telephony

we already have some SIP.. we could use more integration.. we could look into http://jivesoftware.org/asterisk-im/ and see if it's worth changing it to fit psyc, learning how to interact with asterisk straight or acting like jabber, then map things into protocol independent mode.

back on topic.. see Telephony and RTMP.

PSYC support in C Apps

Minimal psyc: URL support in browsers

PsycZilla adds the psyc: scheme to Firefox and implements PSYC, but it would be nice to also have more lightweight support for PSYC uniforms in web browsers: Just look up your user's identity ($PSYC or ~/.psyc/me .. see also Storage) and send it the uniform that the user clicked (single UDP packet or temporary TCP link). I thought this would be possible using Plugger but apparently not.

Events Are Us

See file monitoring and version control. We're about PUSH.. not just chat.. It's surprising there are so many applications which should be doing push but aren't. See perlpsyc for syslog and file monitoring applications. Think of more or make them better. Integrate PSYC with dbus and make it a part of how your unix operating system works.

psycmail goes procmail

This project has been implemented. See psycmail for details.

fetchmail automation / POP trigger

IF you're a POP user you may want to have an automation that goes to fetch mail just when the mail notification comes in. It may be implemented as a minimal client which only links to the identification's _mail service thus can gently co-exist with other applications.

Firewall Administration Protocol

personal firewalls unter windows kennt ja jeder.. zonealarm und so.. fragen nach ob eine app ne verbindung zum irc-server in russland aufmachen darf.. spätestens dann weeste, du hast ne backdoor auf der kiste..

aber oft genug ist das ja nicht wirkungsvoll, wenn der microsaft pc selbst das problem ist - er sich ergo nicht so schützen kann.

eine unix-firewall dafür ist zu starr.. entweder sie lässt alle verbindungen nach außerhalb zu, weswegen eine backdoor ungehindert herauskann, oder sie sperrt alles, weswegen man nix mehr tun kann.

der aktuelle stand ist also, dass joe user sich mit firewalls rules anfreunden muss, sei es als webconfig oder sonstwie. und der kleine hardware-router den ich gerade hier leihweise habe, der kann herausgehende verbindung wie gesagt überhaupt nicht sperren.

ne ne man muss die beiden methoden kombinieren. eine externe maschine muss schützen wozu windoofs zu doof ist, zugleich aber müssen die anwender gefragt werden, ob sie dies oder jenes wirklich wollen, und in dramatischen fällen muss sogar der sysop gefragt werden, soll ich das erlauben?

und wie machen wir das? dreimal dürft ihr raten.

wer möchte an einem firewall administration protocol on top of PSYC mitgestalten? FAP/PSYC? wolfa ist schon dabei, der will das haben! funktionsweise:

- erlaubnis wird verweigert und rückfrage an den user geht raus
- firewall muss daher ip-nummern auf psyc-adressen mappen können
- es kann sinnvoll sein, crypto zu verwenden, sowie seine steuerungsadresse
  nicht auf dem selben pc zu haben, als der der kontrolliert wird.
  in der anfangszeit könnte man das aber erstmal so gelten lassen.
- rückfrage des users verändert die firewall rules. eventuell werden
  noch weitere zuständigkeiten in betracht gezogen.
- eine weiter verfeinerte firewall beherrscht es verbindungen on-hold
  zu stellen bis der user innerhalb eines timeouts eine entscheidung
  getroffen hat. also nicht zwingend den zugriff verweigern. nur wenn
  die firewall stateless ist, muss sie vorweg verweigern.

Protocol Test Suite

See test suite.

psyctext() in C/C++

This has been implemented in libpsyc.

Social Bookmarks and Link Sharing

<Monkey> I am a big fan of social bookmarking sites such as http://del.icio.us, however, there are some drawbacks to the Centralistic designs. This type of application needs to have many users in order to be most useful, however, the central servers start to suffer from heavy load which leads to an unpleasant overall user experience.

<lynX> Yes, digg is slow as hell sometimes...


Problems/Annoyances caused by the existing design(s). These are not too different from other Centralistic social systems.

  • Reliance on a single entity for storage of important data
    • Potential loss of data
    • Potential loss of access to data
    • Limited privacy
    • Use restrictions / limited flexibility
  • Popularity is a strength but overloading becomes a weakness
    • Slow page load times
    • Occasional glitches
    • Extended downtime due to unexpected failure
  • Infrastructure / Implementation difficulty
    • High level of complexity
    • Expensive implementation due to huge datasets and other extreme resource demands

Open Source

scuttle is a nicely implemented bookmarking system written in PHP and licensed with the GPL.


There is at least one open format for decentralized social bookmarking. xfolk is a microformat for publishing collections of bookmarks.

Update 2012: These days we'd do this with ActivityStreams. See secure share.

Existing clients?

Finally a very obvious suggestion: Why not add PSYC support to existing open-source multi-protocol clients? Even single-protocol ones may be turned into multi-protocol ones if they seem fit for it. Has the advantage of not having to fix up the GUI ourselves, and several other backend issues. Just focus on the particularities of PSYC. Also has the chance of reaching a user base from the start.

Work is in progress to add PSYC to libpurple (Pidgin).


Let webchats have Comet? Use jsPSYC with an APE on the server side? Linked into psyclpc?

See also