Bevor wir anfangen das zu programmieren, möchten wir doch die vielen hellen und mitdenkenden Köpfe im psyc-forum und d.c.c fragen, was Euch dazu noch einfällt.. Herzlichen Dank für die Mithilfe. PSYC ist eine freie Chat/Messaging-Technologie. Mehr unter http://psyc.pages.de Rok'n'rol, lynX. Abstract Wir wollen Presence endlich mal schlau modellieren, mit eine mehrdimensionalen abstrahierten Datenstruktur. Introduction Die sinnvolle digitale Umsetzung von Presence also Anwesenheit/Erreichbarkeit ist eigentlich eine faszinierende informatische Herausforderung, die von den dafür etablierten Internet-Protokollen bisher etwas stiefmütterlich behandelt wird: IRC hat dafür den /away Befehl, der eine Abwesenheit implizieren soll an die sich aber keiner hält. Die Flexibilität eines freien Textes ist jedoch vorteilhaft, und wurde auch in Jabber aufgenommen - allerdings nur als Sonderfall der sonst an ICQ angelehnten, mit Keywords fest gekennzeichneten Zuständen. Weitere IM Systeme halten sich mehr oder weniger ebenfalls an die Keywords. Das legt eine Einfachheit des User-Interfaces nahe, aber warum sollte das Protokoll auf das eingeschränkt werden, was das User-Interface beherrscht? Lasst uns nicht allzulange darauf eingehen, sondern lieber den Plan aufzeichnen für eine höher abstrahierte Form der Presence, welche den Bedürfnissen der Menschen eher gerecht wird. Model Anwesenheit für digitale Kommunikation besteht aus mehreren Faktoren welche man durchaus getrennt halten sollte: 1. Gewählte Ansprechbarkeit (chatfreudig, normal anwesend, beschäftigt, kurz weg, lange abwesend, nicht erreichbar) 2. Technische Anwesenheit (idle time) 3. Erläutender Text, oder alternativ Motto des Tages 4. Bandbreite (sauschnell an der uni, dusel zuhause, modem, gprs, sms) 5. Laune/Stimmung (juchei, basst scho, naja, lexts mi am oarschi) Wobei, wie in PSYC üblich, keine dieser Informationen zwingend sein muss und sie zudem für jeden Empfänger unterschiedlich aussehen kann. Die idle-time etwa, kann als Eingriff in die Privatsphäre empfunden werden, selbst wenn man diese Information nur seinen besten Freunden zukommen lässt. Nützlich an diesem Plan finde ich, dass man so einen ungewöhnlichen Zustand wie "mit GPRS-Handy gelangweilt auf die Trambahn warten" gut darstellen kann, und sich die Gegenseite also darauf einstellen kann, sich intensiv mit der Person zu unterhalten, ohne ihr verziehrende unnötige Multimedia-Dokumente zuzuschicken. Wer an dieser Stelle andere Einteilungen/Felder vorschlagen mag, her damit - aber sollten weitere Erkenntnisse erst in der Praxis kommen, kann man PSYC auch leicht nachrüsten. Specification Ansprechbarkeit, idle time, Bandbreite und Laune ergeben, wenn man mag, einen vierdimensionalen Raum in dem die Menschen presence-mäßig positioniert werden können. In der Praxis muss man diese Dimensionen beziffern. Zeit ist klar. Bandbreite könnte man auch in gängigen realen Werten bezeichnen. Die anderen Felder kann man numerisch einstufen und dann in benannte Bereiche aufteilen für den Praxisgebrauch (oder man verwendet tatsächlich auch in den GUIs Drehregler und Ampelfarbabstufungen). Zuerst zu den Zahlen, sollte man die semantisch einfach machen als Prozentangaben von 0% bis 100% ? Oder kann man sich erlauben das noch feiner abzustufen durch Fließkommazahlen? Und damit die Werte im Protokoll dann nicht so hässlich aussehen, einfach das "0." implizieren ergo abschneiden? Eine Implementation könnte dann immernoch Prozent als Darstellung verwenden und versenden, in dem sie die Werte immer zweistellig (evtl. mit führender 0) macht. Implementation Und wenn die Werte nun gegeben sind, können wir sie in Bereiche aufteilen. Für die gewählte Ansprechbarkeit so: * 0.8: chatfreudig * 0.7: normal anwesend * 0.6: schaue grad nicht aufs fenster * 0.5: beschäftigt * 0.4: bitte nicht stören * 0.3: kurz weg * 0.2: lange abwesend * 0.1: nicht erreichbar * 0.0: zugang erloschen? oder sollte das dann ein _redirect sein? Dies lässt noch Spielraum für spätere Bezeichnungen. Die eintreffenden Werte werden also zum nächsten benannten Wert gerundet und der dazugehörige Text ausgegeben. Bandbreiten kann man ebenfalls Bezeichnungen zuordnen, das kann uns jedes File-Sharing-Tool vormachen, daher lasse ich das mal beiseite. Letzlich bleibt noch Laune/Stimmung: * 0.8: juchei * 0.6: basst scho * 0.4: naja * 0.2: lexts mi am oarschi Okay das ist jetzt nicht ernst gemeint, hierfür brauchen wir dann englische Keywords. Überhaupt werde ich diesen ganzen Text später nochmal in Englisch umschreiben müssen. Vorschläge für Keywords? Contributions Weitere Vorschläge.. ChosenOne meint man könnte Standort aufnehmen, und meinte damit daheim, Arbeit, Schule etc. Das sieht zunächst als Freitext aus, den wir ja schon haben, halte es aber für möglich typische Orte menschlicher Existenz in Kategorien zu stellen: @home, @work (= Büro, Uni, Schule etc), mobile (unterwegs), @other (bei Freunden, im Cafe, am Strand). "Auf Reisen" gilt nicht, weil man auch dort in einem der oberen 4 Zustände sein kann. Dafür wäre dann eher ein Positionsfeld denkbar, welches Ort, Land und sogar Koordinaten (GPS) beherbergen kann. Privacy Man bedenke weiterhin, dass all diese Informationen typischerweise nur den Freunden zugänglich gemacht werden, je nach Freundschaftsgrad, und zudem auch "gelogen" sein dürfen. Dies ist mit Sicherheit besser als alle bestehenden Technologien, die, falls sie dieser Art Daten sammeln und weitergeben, dies gerne zu freizügig tun und mit inkorrekten Angaben oft nicht umgehen können oder wollen. Daten kommen so oder so auf und zu, also lieber in einer Form in der wir Kontrolle darüber haben.