Skyim war angedacht als ein Programm, das die Nachrichten über das Intranet empfangen und in Form von Pop-Ups anzeigen kann.
Die Idee kam bei der Benutzung von einem sogenannten Jukebox namens tunez, das ein Web-Interface zur Steuerung anbietet, aber leider keine Möglichkeit gibt, Benutzer über das aktuell abgespielte Lied, außer in einem Web-Browser, zu informieren. Da kam die Idee ein Programm zu schreiben, das die beliebig viele Benutzer über die aktuellen Server-Aktivitäten mit Hilfe von Pop-Ups informiert.
Das Programm bestand zuerst aus zwei Teilen: aus einem Server, der die Nachrichten empfangen und angezeigt hat, und aus einem Klient, der die Nachrichten unterschiedlicher Art versenden konnte. Später ist eine graphische Oberfläche dazu gekommen, grundsätzlich, um auf der Serverseite die verpassten Nachrichten auch sehen zu können. Der Klient wurde danach auch in die GUI eingebaut. Im Moment ist es möglich über die graphische Oberfläche die Text- und Bild-Nachrichten zu verschicken.
Im Gegensatz zu einem klassischen Instant Messenger, wie z.B. ICQ, gibt es keinen zentralen Server, bei dem der Klient angemeldet werden muss, um Nachrichten zu verschicken. Jede Instanz von Skyim ist ein Sender und gleich der Empfänger. Der Empfänger kann wahlweise ausgeschaltet werden. Der Sender baut die Verbindung zu dem Empfänger jedes Mal auf, wenn eine Nachricht verschickt wird. Der Empfänger sollte daher bekannt(IP-Adresse oder Hostname) und online sein, sonst kann keine Nachricht verschickt werden.
Der MiniClient und der MiniServer sind im Paket(de.neosky.skyim.net) enthalten und können weiterhin direkt ohne GUI verwendet werden. Ganz interessant dabei ist der MiniClient, der aus einer beliebigen, auch nicht Java-Anwendung, aufgerufen werden kann und somit eine Nachricht direkt an den bekannten Empfänger verschickt werden kann.
Beispiel
Startet Skyim und darin enthaltenen Server und führt folgendes aus einem beliebigen Java-Programm aus, um eine "Hello World" Nachricht an den Server zu verschicken:
new MiniClient().send("localhost", CommonSettings.PORT, new TextMessage("Hello World"));
oder von der Konsole aus:
java -cp Skyim.jar de.neosky.skyim.net.MiniClient "localhost" "txt" "Hello World"
Skyim wird weiterentwickelt, wenn neue Ideen oder Verbesserungsvorschläge kommen und natürlich die Zeit dafür da ist.
Download Skyim
Changelog:
~ Swing fix
+ fix für Synthetica-LAF
...