• Skip to content
  • Skip to link menu
KDE für deutschsprachige Benutzer
  • KDE Deutschland
  • Kontakt
 

Anwendung des Monats - KSirc!

Interview mit dem Betreuer von KSirc, Andrew Stanley-Jones:

 

Wann hast Du begonnen an KSirc zu arbeiten und wer ist noch an dem Projekt beteiligt?

KSirc wurde am 11. November 1997 zum ersten Mal veröffentlicht, das aber schon aus vielen vorangegangenen Entwicklungsschritten entstanden war. Ich wollte schon immer einen leistungsfähigen IRC Clienten haben, der unter X lief und und eine sehr gute Unterstützung von Skripten bot. Die letzten Jahren arbeitete ich an Perl/Tk, Xforms und Perl/Qt basierten IRC Clients.

Gegen Ende 1997 gab ich den Gedanken einen kompletten Client in Perl zu schreiben auf. Die Perl/Tk und Perl/Qt Bibliotheken brachten es es nicht und die Schwierigkeiten für die Benutzer bei der Installation waren einfach zu groß. So im September 1997 entschied ich mich mal mit der Qt Programmierung in C++ zu befassen und zu sehen, was ich lernen konnte. Als ich den Client programmierte begann ich KDE Software zu benutzen, da sie mir mein Leben leichter gemacht hatte und einige nette Funktionen bot.

Ich traf Stephan Kulow online und wir gründeten #kde auf Linpeople (heute freenode). Nach einiger Zeit wurde ich gebeten KSirc in das KDENETWORK Paket einzubringen und los ging es. Ab da bekam ich sehr viel Hilfe, was die Säuberung des Codes anging und allgemeine Verbesserungen anging.

1999 machte ich meinen Schulabschluss, zog in die USA und stellte die Arbeit an KSirc ein, aus Mangel an Lust und aus persönlichen Gründen. Im Wesentlichen konnte KSirc alles, was ich brauchte. Die Arbeit an KSirc wurde in den folgenden Jahren von verschiedenen KDE Leuten erledigt. Die Namen, die in den Danksagungen zu finden sind lauten Waldo Bastian, Carsten Pfeiffer, Malte Starosti, Daniel Molkentin und Simon Hausmann.

Ein Haufen Arbeit wurde erledigt, wie die Umstellung auf Qt 2, Qt 3 und jede Menge Wartungsarbeiten und Fehlerbereinigungen. Simon Hausmann steckte sehr viel Arbeit in die Programmierung eines neuen IRC Text-Teiles, der mich wirklich beeindruckt hat. Ich will wirklich niemanden auslassen aber die ganze Arbeit aufzulisten, die während der letzten drei Jahre von verschiedenen Leuten erledigt wurde, wäre eine riesige Aufgabe!

Gegen Ende 2002 begann ich, aufgrund eines Arbeitsplatzwechsels oder in Ermangelung eines solchen, wieder an KSirc zu arbeiten. Ich habe ein paar kleinere Patches für die KDE Version 3.1 beigetragen aber die größte Arbeit steckt in den Änderungen, die anliegen.

 

Wie ist dieses Projekt organisiert? Benutzt Du KSirc, um mit den anderen Projektteilnehmer zu kommunizieren? Kennst Du sie persönlich?

Um KSirc schien sich nie eine große Gruppe von Entwicklern gesammelt zu haben, wie dies bei anderer Software der Fall war. Sogar als es anfing erhielt ich nur zufällig ab und zu einmal Patches. Ich bin mir nicht sicher, ob es einfach nur an der Art der Anwendung oder an meiner Person als Entwickler lag.

Ich benutzte IRC, um eine Menge Rückmeldungen von den Leuten zu bekommen und um das Einbinden neuer Features zu diskutieren. Nachdem ich 2002 die Arbeit an KSirc wieder aufgenommen hatte, habe ich sehr ausgiebig mit Simon über sein Produkt gesprochen und wie es funktioniert.

 

Wo siehst Du die Stärken von KSirc gegenüber anderer Kommunikationsdienste?

Das Design von KSirc ist auf einige Ziele hin abgestimmt:

1. Leistungsstarkes Perlscripting. Aus diesem Grunde ist der aktuelle IRC Code in Perl geschrieben. Der zugrunde liegende Code, der für die IRC Funktionalität verantwortlich ist, stammt von einer Anwendung namens sirc, die einen Perl-Kern und ein ncurses Frontend hat. Das Positive daran ist, dass das Programm sehr einfach mit den darunter liegenden Skripten verändert oder verbessert werden kann. sirc hat eine Schnittstelle, die wirklich sehr gut mit eigenen Skripten funktioniert, die dadurch zu einem Teil des IRC-Clients werden. Andere Funktionen, wie Timer, das Hinzufügen von Dateideskriptoren zur Auswahl von Loops, etc. sind alle implementiert, um dem Autoren der Skripte, eine sehr schöne Schnittstelle zur Verfügung zu stellen.

2. Einfache Bedienbarkeit. Das bedeutet für mich etwas anderes, als für viele KDE Anwendungen. Da ich KSirc etwas acht Stunden pro Tag benutze, muss es schnell und einfach zu benutzen sein. Ein Beispiel: die meisten Benutzer von textbasierten IRC-Programmen, geben gewöhnlich Befehle nach dem Schema /Befehl ein. Für Hilfe geben sie /help ein. Ich fand diese Art immer einfacher und weniger störend, als auf ein Icon nach dem anderen anklicken zu müssen, um schließlich einen Befehl auszuführen.

Das bedeutet auch, dass die Anwendung stabil sein muss. Ich hasse Clients, die abstürzen. Das war einer der Hauptgründe, weshalb ich wieder mit der Entwicklung angefangen habe.

3. Konfigurierbarkeit. Die Art und Weise, wie ich KSirc benutze muss nicht die gleiche sein, wie jemand anders das Programm benutzen will. Anfänglich wurde das über Skripte und Filterregeln gelöst aber da im Laufe der Zeit die Funktionen mehr immer wurden, bedeutete dies, auch die Möglichkeiten der Konfiguration über die grafische Oberfläche zu erweitern. Es fehlt immer noch die Möglichkeit eine Konfiguration für jeden einzelnen Server zu erstellen aber die Umsetzung wird nicht mehr lange auf sich warten lassen.

Die Reihenfolge habe ich entsprechend der Wichtigkeit der Punkte festgelegt. Dies steht manchmal in Konflikt mit den KDE Idealen und wir wussten das, als wir anfingen. Es ging mir nie darum eine Anwendung zu schreiben, die schön aussah, einen Server und Channel zur Auswahl anbot und deren Funktionalität an dieser Stelle endete. Das bedeutet, dass es ein Benutzer ohne Unix-, Netzwerk- oder Skriptingerfahrung es schwerer hat als sonst. So habe ich schon immer KDE mit einem einfachen IRC-Client unterstützt.

KSirc hat ein paar wenige Designschwächen. Internationalisierung ist schwierig zu verwirklichen, da das Perl-Backend nicht dazu geschrieben ist, dies zu unterstützen. Und selbst wenn es das könnte, wäre es Perl i18n und nicht das übliche von KDE. Und da alles im IRC-Fenster vom Perl-Backand erzeugt wird, ist das sehr viel von den Meldungen.

Von C++ Seite aus ist gibt es keinen einfachen Weg, Daten vom Perl Backend anzufordern. Hier gibt es zwei Probleme. Die grafische C++ Oberfläche kann das Backend nicht blockieren, und es gibt keine Möglichkeit herauszifinden, wer auf ein bestimmtes Kommando wartet. Hat z. B. der Benutzer gerade /whois eingegeben oder war das die Anwendung?

 

Welche Pläne hast Du für KSirc? Auf welche neuen Funktionen dürfen wir uns freuen?

Es gibt eine ganze Reihe von Bereichen, wo an KSirc noch gearbeitet werden muss, zuerst das Perlscripting und seine Fähigkeit, mit der grafischen Oberfläche zu interagieren. Im Moment gibt es keine Möglichkeit, der grafischen Oberfläche zu sagen, sie solle etwas tun, ein Flag setzen oder den Benutzer benachrichtigen.

1998 begann ich an einer Lösung zu arbeiten, wie Perl die Kontrolle über die grafische Oberfläche übernehmen konnte. Das nannte sich Perl User Kontrol Environment oder kurz PUKE. Ich machte ein paar Fehler und es stellte sich heraus, dass es eine Menge Arbeit ist. Seither wurde Dcop entwickelt und scheint ähnliche Funktionen zur Verfügung zu stellen. Und so habe ich vor, sowohl KSirc und Perl/Dcop zu verbessern, um eine nette Schnittstelle zur Verfügung stellen zu können.

Das Perl Backend kommt langsam in die Jahre. Es wurde zuerst in Perl 4 geschrieben und Perl hat seit dieser Version sehr viele Änderungen erfahren und manche Dinge sind jetzt viel einfacher zu lösen. Zum Beispiel, kann aktuelle hook Einbindung durch die Verwendung von Code Referenzen gelöst werden und Datenstrukturen könnten unter Verwendung von komplizierteren Typen, als verschachtelten hashes erstellt werden. Ich bin mir noch nicht sicher, wie das Ganze Form annehmen wird.

 

KSirc ist unter der "Artistic License" veröffentlicht. Was waren die Gründe hierfür? Was denkst Du über "Open Source"?

KSirc wechselte 1998 oder so von der GPL zur Artistic License. Ich hatte genug von der Diskussion, dass Qt nicht frei ist und diesen endlosen Diskussionen, die das nach sich zog. Ich fand die beste Art meine Ablehnung dieser Diskussion zu zeigen war, die Entwicklung einer Anwendung unter der GPL einzustellen. Vielleicht hat es niemanden interessiert aber es war das Beste, was ich tun konnte.

Nachdem ich jetzt ein paar Jahre in verschiedenen Firmen gearbeitet habe, denke ich wieder über die Vorteile der GPL nach und überlege, ob ich nicht versuchen soll, wieder umzustellen. Von der Anzahl der Copyright Angaben in den Dateiköpfen ausgehend, scheint das kein großes Problem zu sein, da fast der ganze Code unter der GPL veröffentlich wurde.

 

Wird KSirc auf irgendeine Art gesponsort?

Nicht direkt. Keine Firma für die ich bisher gearbeitet hat, hat mir je Geld dafür angeboten, einen Client zu schreiben, mit dem man seine Zeit verschwenden kann, indem man online chattet. Wäre es nicht toll, wenn man seinem Chef sagen könnte, dass man im IRC sein muss, um die Software zu testen?

Um zu meiner neuen Arbeitsstelle zu gelangen, nehme ich den Zug, das ist jeweils eine Stunde Fahrt pro Weg. Ich habe ein Laptop dabei, so dass ich an KSirc arbeiten kann. Das hat mir in den letzten Monaten wirklich dabei geholfen, KSirc weiter zu entwickeln. Funktionen, die ich im Zug hinzugefügt habe sind der neue "dock" Modus, verbesserte Steuerung der Einstellungen, eine neue DCC Schnittstelle, etc..

 

Hast Du irgendwelche Lieblingswerkzeuge unter KDE (von KSirc einmal abgesehen ;-) )?

Das ist ziemlich schwert zu beantworten. Als Webbrowser benutze ich fast ausschließlich Konqueror. Von daher müsste der auf meiner Liste ganz weit oben stehen. Natürlich ist auch Klipper mit oben dabei aber wenn man einen Blick auf die Credits wirft, weiß man warum. Was ich nicht verstehe ist, warum es nicht unter anderen Plattformen auch verfügbar ist. Die Idee einer Clipboard History ist nicht zu kompliziert aber unglaublich nützlich.

Andere Anwendungen, die ich häufig nutze sind Ksysguard, Klaptopdeamon, Kwifimanager, etc.

 

Wie könnte / sollte die Benutzeroberfläche der Zukunft Deiner Meinung nach aussehen?

Ich denke wirklich nicht oft über die Benutzeroberfläche der Zukunft nach. Es ist mir sehr wichtig, eine Arbeitsumgebung zu haben, die mir erlaubt schnell und effizient zu arbeiten. Ich lege genauso viel Wert auf das gute Aussehen einer Anwendung, wie andere auch aber nicht, wenn es auf Kosten der Benutzbarkeit geht.

 

Unter welchem Betriebssystem und mit welcher Hardware arbeitest Du?

Ich arbeite generell nur unter Linux. Zuhause entwickle ich auf einem Dual-Celeron 466, 512 MB RAM, mein Laptopt ist ein 1.2 GHz PIII mit 256 MB RAM. Beide eignen sich sehr gut für die Entwicklung unter KDE.

Zuhause habe ich ein kleines Netzwerk mit 3 Maschinen, unter anderem auch einem alten P200, für Routineaufgaben. Den Laptop spreche ich über 802.11b an, was sehr gut funktioniert.

 

Kannst Du ein bisschen mehr über die Person "Andrew Stanley-Jones"? erzählen?

Gut, mal sehen... ich bin Kanadier, der von den USA mit Jobs geködert wurde und dem Versprechen, dass es dort weniger Schnee gibt. All dies stellte sich als wahr heraus und ich habe seit etwa vier Jahren keinen Schnee mehr gesehen, also bin ich glücklich. Ich habe einen Bachelor in Electrical Engineering (1999) und ich entwickle schon immer Anwendungen unter Linux. Letztes Jahr habe ich die beste Frau der Welt geheiratet und alles in allem geht es mir prima.

 

Was machst Du in Deiner Freizeit (falls es so etwas überhaupt für Dich gibt)?

Meine freie Zeit ist mit vielen verschiedenen Aktivitäten ausgefüllt. Zeit mit meiner Frau und meiner Familie zu verbringen, ist sehr wichtig für mich. Ich verbringe etwa einen Tag am Wochenende auf dem örtlichen Flughafen, um mein privates Flugzeug zu reparieren oder zu fliegen. Die örtlichen Flugorganisationen veranstalten regelmäßig sogenannte "Young Eagles Events", wo Schulkindern ein Flug in einem kleinen Flugzeug ermöglicht wird. Ich versuche dies, wann immer ich kann wahrzunehmen.

Da ich täglich zwei Stunden im Zug an KSirc arbeite, entwickle ich zuhause kaum noch, chatte dafür umso mehr im IRC. Ich muss mir regelmäß Beschwerden von meiner Frau anhören, wenn ich, während wir uns einen Film anschauen, mit meinen Laptop ankomme, um nebenher auf #kde-devel zu chatten. Ich antworte darauf, dass es mir hilft während eines Frauenfilms wachzubleiben.


Andrew Stanley-Jones ist per E-Mail unter der Adresse asj@chowtown.cban.com zu erreichen. Das Interview zur Anwendung des Monats KSirc führte Andreas C. Diekmann.

Eine Kurzbeschreibung zu KSirc finden Sie an dieser Stelle.

[ Edit ]

Aktuell: kdirstat

Skip menu "Aktuell: kdirstat"
  • Einleitung
  • Interview
  • Beschreibung

Archiv 2008

Skip menu "Archiv 2008"
  • April: kdirstat

Archiv 2007

Skip menu "Archiv 2007"
  • April: kdesvn

Archiv 2006

Skip menu "Archiv 2006"
  • Mai: KRename

Archiv 2005

Skip menu "Archiv 2005"
  • Januar: aKregator
  • Februar: KBear
  • März: KSpread
  • April: KPDF
  • Mai: Amarok
  • Oktober: KDissert

Archiv 2004

Skip menu "Archiv 2004"
  • Januar: KuickShow
  • Februar: Konsole
  • März: KSirtet
  • April: JuK
  • Mai: KMplayer
  • Juli: Konserve
  • August: Konversation
  • September: Kig
  • November: KAddressbook
  • Dezember: KPilot

Archiv 2003

Skip menu "Archiv 2003"
  • Januar: Quanta
  • Februar: K3b
  • März: Kover
  • April: KSirc
  • Mai: KsCD
  • Juni: KMail
  • Juli: Karamba
  • September: Kile
  • Oktober: Kolf
  • November: Digikam
  • Dezember: Kickpim

Archiv 2002

Skip menu "Archiv 2002"
  • Januar: KNotes
  • Februar: KOrganizer
  • März: Kate
  • April: KView
  • Mai: KTouch
  • Juni: KSteak
  • Juli: Ark
  • August: KShisen
  • September: KNewsticker
  • Oktober: KCron
  • November: KWord
  • Dezember: KSnapshot

Archiv 2001

Skip menu "Archiv 2001"
  • Oktober: Noatun
  • November: Karm
  • Dezember: Kppp

Archiv 2000

Skip menu "Archiv 2000"
  • Oktober: KJukebox

Global navigation links

  • Startseite
  • KDE Accessibility Startseite
  • Beschreibung der Navigationstasten
  • Back to content
  • Back to menu

Suche:


Betreut von kde.de-Webmaster
KDE® und K Desktop Environment®-Logo sind eingetragene Warenzeichen von KDE e.V. | Impressum