Software as a Service (SaaS) ist ja mittlerweile nichts mehr neues und so sind viele Applikationen ins Web abgewandert, die es noch vor wenigen Jahren ausschließlich als Desktopanwendung gab. Ein Beispiel sind Office Anwendungen, was Dienste wie Google Docs oder Zoho eindrucksvoll beweisen. Für mich interessanter sind Email Clients, denn ich möchte auch von unterwegs aus bequem auf meine Emails zugreifen können, ohne an einen Provider gebunden zu sein. Dank IMAP kann ich dann von Zuhause aus mit meinem gewöhnlichen Email Programm meine Mails lesen und verwalten und unterwegs mit Hilfe eines webbasierten Email Clients auf neue Post zugreifen. Hierfür habe ich mir schon vor einiger Zeit verschiedene Lösungen angesehen und verglichen, wobei ich von vornherein folgende Anforderungen an die Applikationen gestellt habe:

  • ich muss sie lokal auf einem eigenen Server installieren können (Online-Dienste sind aus Datenschutzgründen uninteressant)
  • die Oberfläche soll bequem zu bedienen sein und sich “gut anfühlen”
  • als Backend sollte möglichst eine Umgebung von der Stange dienen (also beispielsweise ein 0815 LAMPP Stack, oder ein kleiner Java Server)
  • das Programm sollte kostenlos sein bzw. nicht zu viel kosten

Folgend eine Übersicht über die webbasierten Email Clients und PIM Systeme, die ich mir hierzu genauer angesehen habe. Am Ende habe ich mich für Afterlogic WebMail Light entschieden, da es in der Installation sehr einfach war, eine einfache Oberfläche besitzt und sich sehr leicht in mein bestehendes System zur Authentifikation einbinden lässt.

Wenn ein guter webbasierter Email Client in dieser Liste fehlt, dann gebt mir bitte Feedback. Ich bin immer auf der Suche nach guten Programmen.

Afterlogic WebMail Light

Der WebMail Light Client von Afterlogic steht für die Programmiersprachen PHP und ASP.NET unter der GPL Lizenz zur Verfügung, unterstützt POP3/IMAP/SMTP und präsentiert sich in einem simplen und übersichtlichen Interface. Dabei ist er komfortabel zu bedienen und lässt sich auch gut in andere Umgebungen (cPanel) integrieren. Ich benutze das Programm nun etwa ein Jahr und bin sehr zufrieden. Eine Live-Demo gibt es auf der Seite des Herstellers.

Neben dem Client bietet die Firma Afterlogic auch einen Email Server und eine Pro Version, welche einen Kalender und weitere Features bietet. Für den Hausgebrauch reicht die Lite Version aber vollkommen aus und ist absolut empfehlenswert.

Funambol

Funambol habe ich zur Vollständigkeit hier aufgenommen. Leider bietet die kostenlose OpenSource Version kein Benutzerinterface, so dass diese Lösung für mich nicht in Frage kam. Eine AJAX Oberfläche erhält man in der kommerziellen Variante. Bemerkenswert an Funambol sind die zahlreichen Synchronisationsmöglichkeiten, die besonders mit mobilen Endgeräten bestehen und auch mit der freien Version möglich sind. So werden iPhones, Android, Windows Mobile und Java ME Email Clients unterstützt und können untereinander synchronisiert werden.

AtMail

Einen optisch sehr ansprechenden Email Client bietet AtMail. Eine unbeschränkte Testversion, mit einer Lizenz für fünf Benutzer ist kostenlos erhältlich. Der Webmail Client basiert auf dem Zend Framework (PHP) und bringt einen komfortablen Installer mit. Leider habe ich keine Möglichkeit gefunden mich mit einem IMAP Server zu verbinden, bei dem der Benutzername von der Email Adresse abweicht. Dennoch ist der sehr stylische und benutzerfreundliche Client definitiv eine Empfehlung wert. Ein Live-Demo gibt es hier.

AtMail.org

Auch AtMail bietet ein OpenSource WebMail Client (PHP). Dieser ist allerdings nicht vergleichbar mit dem kommerziellen Produkt und optisch nicht annähernd so ansprechend. Sonst scheint der Client alles zu bieten, ist aufgrund des Look&Feels bei mir aber nicht in die nähere Auswahl gekommen.

Conjoon

Der OpenSource Client Conjoon basiert wie AtMail auf dem Zend Framework (PHP) und nutzt als JavaScript Oberfläche Sencha (früher: ExtJS). Die Oberfläche macht einen sehr schicken Eindruck, allerdings wird kein IMAP, sondern nur POP3 unterstützt. Neben der WebMail Funktionalität werden auch RSS Feeds und Twitter unterstützt. Als ich Conjoon zuletzt getestet habe, war es noch im Beta Stadium, wie ausgereift die aktuelle Version ist, bleibt an der Stelle offen.

FengOffice (ehemals OpenGoo)

FengOffice ist aus dem früheren Projekt OpenGoo hervor gegangen. Dabei tritt FengOffice als umfassendere Collaboration Lösung an und bietet weitaus mehr als einen Email Client. So bringt es eine Dokumentenverwaltung, Aufgabenverwaltung, Kalender und ein Adressbuch mit, wobei Benutzer ihre Inhalte auch untereinander teilen können. Neben der OpenSource Variante, bietet FengOffice auch einen gehosteten Service an, bei dem man sich nicht selbst um den Server kümmern muss.

Hastymail

Der Email Client Hastymail (PHP) besticht nicht mit einem besonders ansprechenden Interface. Die Oberfläche vermittelt eher einen Web 1.0 Eindruck, trotzdem erscheint mir die Software ganz solide und umfangreich in der Ausstattung. So ist ein Kalender mit an Bord und es stehen verschiedene Plugins zur Verfügung.

Xuheki

Xuheki ist ein auf Perl basierender IMAP Email Client, der eine ähnliche Optik wie FengOffice besitzt. Das Perl Backend hat mich allerdings davon abgehalten die Software zu testen und genauer zu prüfen.

Roundcube

Roundcube (PHP) ist mittlerweile kein Geheimtipp mehr, aber dennoch empfehlenswert. Der IMAP Client bringt alles mit, was ein vernünftiger WebMail Client benötigt: eine saubere AJAX basierte Oberfläche, ein Adressbuch, eine Suche und sogar eine Rechtschreibkorrektur. Besonders die schlichte Optik besticht und auch hinsichtlich der Usability kann ich Roundcube nur empfehlen.

Zimbra

Zimbra ist eine sehr umfangreiche und mächtige Collaborationslösung. Die Software kommt als eigenes Installationspaket, bringt einen eigenen Email Server mit und bietet neben einem AJAX basierten WebMail Client auch einen Kalender, eine Dokumentenablage und zahlreiche weitere Plugins. Die OpenSource Variante ist schon sehr umfangreich, die kommerzielle Version bietet weiterführend Synchronisationsmöglichkeiten mit Outlook, verschiedenen mobilen Plattformen (iPhone, Blackberry usw.) und kann als Pendant zu Funambol gesehen werden. Da Zimbra sehr umfangreich und komplex ist, habe ich mich nach einer kurzen Testinstallation dagegen entschieden.

In diesem Blog habe ich ja schon öfters über rsslounge geschrieben. Vor einiger Zeit habe ich einen webbasierten RSS Reader entwickelt, der auf PHP und MySQL aufsetzt und als Open Source Projekt jedem frei zur Verfügung steht.

Screenshot rsslounge

Die letzten Monate habe ich den Reader nun auf Herz und Nieren getestet und selbst jeden Tag verwendet. Zudem habe ich Feedback gesammelt und den Reader im Detail verbessert. So kann er jetzt beispielsweise auch fehlerhaftes HTML in Feed Einträgen verarbeiten und korrigieren. Die permanente Nutzung über die letzten Monate hat gezeigt, dass der Reader stabil ist und einwandfrei arbeitet. Daher habe ich mich entschlossen den aktuellen Stand als Version 1.0 zu veröffentlichen.

Ihr könnt die aktuelle Version jederzeit auf der Projektseite http://rsslounge.aditu.de herunterladen. Wer skeptisch ist, oder rsslounge noch nicht kennt, findet dort natürlich auch eine Demo Installation und kann alles erst einmal testen. Interessierte können auch die Entwicklung verfolgen oder einen Blick auf den Quellcode werfen. Hierfür gibt es eine Projektseite auf Google Code.

Feedback, Bugmeldungen oder Anmerkungen sind jederzeit willkommen. Ihr könnt hier kommentieren, das Kontaktforumlar auf http://rsslounge.aditu.de oder das Tracking System von Google Code verwenden.

Schon vor einiger Zeit bin ich auf eine sehr schöne Lösung gestoßen, mit der sich ein sicherer Login mit Einmalpassworte realisieren lässt. Dabei wird ein Hardware USB Dongle verwendet, welcher nach einem Druck auf einen Taster ein Einmalpasswort generiert. Die serverseitige Prüfung kann aus einer beliebigen Sprache heraus passieren. Für mich bietet sich hier natürlich PHP an. In meinem Fall verwende ich für die Applikation das Zend Framework, aber die hier vorgestellte Lösung ist allgemein verwendbar und unabhängig vom restlichen Backend.

Was ist ein Einmalpasswort?

Wie der Name bereits sagt, kann ein Einmalpasswort nur für einen Login verwendet werden. Dann erlischt die Gültigkeit und ein neues Einmalpasswort wird benötigt. Ein solches Passwort wird durch eine spezielle Hardware (hier OpenKubus Stick) erzeugt. Eine genaue Definition findet ihr auch in Wikipedia, wo auch verschiedene Algorithmen vorgestellt werden. Der englischsprachige Begriff ist One Time Passwort und hierzu findet man auch auf dem internationalen Wikipedia eine interessante Beschreibung.

Vorteile Einmalpasswörter

Zu Beginn stellt sich die Frage, welche Vorteile ein Login mit Einmalpasswörter mit sich bringt. Hier macht es Sinn, sich der Problemstellung von Seite der Bedrohungen aus zu nähern und zu analysieren, ob ein solches System für den eigenen Anwendungsfall eine sinnvolle Maßnahme ist oder nicht. Mögliche Bedrohungen, gegen die ein Einmalpasswort eine risikominimierende Wirkung hat sind:

  • an erster Stelle natürlich eine sichere Authentifikation: nur wer den Stick besitzt kann sich auch in das System einloggen
  • ungeeigneter Umgang mit Passwörter: es kann nicht sichergestellt werden, dass Benutzer unsichere Passwörter verwenden
  • Abhören von Leitungen/Ausspähen des Passwortes: es kann passieren, dass in einer unsicheren Umgebung die eigenen Zugangsdaten abgehört werden. Hier wäre auch eine verschlüsselte Verbindung eine empfehlenswerte Gegenmaßnahme, aber auch ein Einmalpasswort bietet hier einen geeigneten Schutz, da dieses nur für einen Login gültig ist.
  • systematisches Ausprobieren von Passwörter: es kann passieren, dass ein Brute Force Angriff auf das System durchgeführt wird. Ein Einmalpasswort ist in der Regel sehr lange und somit schwerer zu knacken
  • Trojanische Pferde: am Clientrechner könnte ein Schadprogramm installiert sein, welches die Zugangsdaten ausspäht

Natürlich ist ein Einmalpasswort kein Allheilmittel. So schützt es nicht vor Pishing Angriffen, oder Man in the Middle Attacken, wo die Logindaten abgefangen und erst garnicht an den Server gesendet werden.

Komponenten

An dieser Stelle will ich zuerst die verschiedenen Komponenten vorstellen, die für die Lösung verwendet wurden. Natürlich ist alles OpenSource und frei verfügbar. Auch der Hardwaredongle ist frei und recht günstig zu erstehen.

OpenKubus

OpenKubus

Der OpenKubus ist ein kleiner, handlicher USB Stick (der Problemlos an den Schlüsselbund passt), dessen Hardwarelayout frei verfügbar ist und der frei programmiert werden kann. Wird der Stick an einem Rechner angesteckt, so wird er als Tastatur erkannt. Ein Druck auf einen Taster führt dazu, dass der Stick ein neues Einmalpasswort generiert und als Tastatureingabe an den Rechner sendet. Es reicht also, den Cursor auf das Eingabefeld im Login Formular zu setzen und der Stick schießt sein Passwort hinein. Dabei ist der Stick kompatibel zu nahezu allen Systemen, weil er als einfache Tastatur arbeitet.

Der Stick kostet 24,95 Euro und kann im embedded projects Shop bestellt werden. Beispielprogramme und die nötige Software um den Stick zu programmieren (was unter Linux recht leicht möglich ist), sind auf der google code Projektseite zu finden. Dort gibt es auch Anleitungen und ein Beispielserver in Perl. Der OpenKubus kann auch für einen sicheren Linux Login (PAM) verwendet werden.

phpseclib

phpseclib

Um das Passwort zu entschlüsseln (AES), benötigt man eine passende Bibliothek. phpseclib bietet eine komfortable und objektorientierte Lösung, die auf keine PHP Extensions oder ähnliches angewiesen ist. Diese Bibliothek ist in PHP geschrieben, entwickelt man in einer anderen Sprache, so benötigt man irgendwie eine Möglichkeit mit AES Verschlüsselung zu arbeiten.

phpseclib ist aus meiner Sicht für Verschlüsselung allgemein ein Tipp. Es stehen Klassen für die verschiedensten Algorithmen zur Verfügung (z.B. RSA, SSH, DES, 3DES, AES uvm.). Die Bibliothek ist OpenSource und steht unter der LGPL Lizenz.

Ablauf

Um die unten stehende Implementierung zu verstehen, muss man zuerst den gesamten Ablauf kennen. Dieser ist recht simpel. Zuerst muss der Stick einmalig vorbereitet werden. Der Authentifizierungsprozess kann dann beliebig oft durchgeführt werden.

Initialisierung

Der Stick muss mit dem AES Schlüssel und einem zufälligen Datenblock beschrieben werden. Dies funktioniert recht einfach unter Linux:

sudo ./stick-write -p AESKeyundDatenblock

Wobei AESKeyundDatenblock ein 46 Byte langer String ist, der zuerst aus dem AES Key (32 Bytes lang) und dann dem Datenblock (14 Bytes lang) besteht. Der AES Schlüssel und der Datenblock müssen auch dem Server bekannt sein. Zudem muss auf dem Server der Zähler auf 0 gesetzt werden (=das nächste Einmalpasswort ist das erste).

Authentifizierung

Client:

  1. Der Stick wird am Client eingesteckt und das Loginformular wird aufgerufen. Nun gibt der Benutzer seinen Benutzernamen ein, setzt den Cursor auf das Einmalpasswort-Feld und drückt auf den Taster am Stick.
  2. Der Stick erzeugt nun das Einmalpasswort: Ein interner Zählwert wird mit dem Datenblock verknüpft und mit dem angegebenen Schlüssel (key) AES verschlüsselt. Anschließend erhöht der Stick seinen internen Zähler um eins.
  3. Das so generierte Einmalpasswort wird base64 kodiert, so dass es durch gewöhnliche (ASCII) Zeichen darstellbar ist.
  4. Der Stick sendet das so generierte, base64 kodierte Einmalpasswort als Tasteneingabe und befüllt so das selektierte Feld. Ein Klick auf “Login” sendet das HTML Formular wie bei einem gewöhnlichen Login an den Server.

Server:

  1. Der Server nimmt die Anfrage entgegen und lädt seinen eigenen, zum Stick passenden AES Schlüssel und Datenblock.
  2. Dann wird der durch den Client übermittelte base64 String erst einmal korrigiert: ein z am Anfang kennzeichnet ob ein amerikanisches Tastaturlayout vorliegt (entsprechend müssen alle z durch y und alle y durch z ersetzt werden). Zudem werden einige Sonderzeichen ersetzt.
  3. Anschließend wird das noch verschlüsselte Einmalpasswort von base64 wieder in einen Bytevektor dekodiert.
  4. Nun wird das Einmalpasswort mit AES entschlüsselt.
  5. der Zählstand wird ausgelesen und der Datenblock entnommen.
  6. Der Login ist erfolgreich wenn der gegebene Zählstand größer dem Zählstand am Server ist und der gegebene Datenblock mit dem intern gespeicherten übereinstimmt.
  7. War der Login erfolgreich, so wird am Server der Zählstand des Sticks übernommen: es werden nur Einmalpasswörter akzeptiert, die einen höheren Zählstand haben (alte funktionieren also nicht mehr).

Auch wenn sich alles nun nach einer Menge Arbeit anhört, ist die Implementierung übersichtlich. Ich habe dazu in meiner Applikation einen Action Helper verwendet (in Zend Framework Applikationen eine Hilfsklasse, die in allen Controller zur Verfügung steht). An dieser Stelle eine PHP Funktion, welche nur von phpseclib abhängt und alle Schritte durchführt, die oben unter Server gelistet sind. Jeder Schritt wird nochmal als Kommentar erklärt.


/**
 * @param string $givenOtp Einmalpasswort, dass geprueft werden soll
 * @param string $aesKey der AES Schluessel und Datenteil
 * @param int $number aktueller Zaehlstand des Servers
 */
function otp($givenOtp, $aesKey, $number) {
	// AES Schluessel besteht aus
	// erste 32 Byte: AES Key
	// restliche 14 Byte: Datenblock
	$key  = substr($aesKey, 0, 32);
	$data = substr($aesKey, 32, 14);

	// base64 Kodierung des Sticks korrigieren
	$givenOtp = rtrim($givenOtp);

	// Sonderzeichen in korrekte Sonderzeichen umwandeln
	// (diese werden vom Stick anders vorgegeben, um von
	// unterschiedl. Tastaturlayouts unabhängig zu werden)
	for($i = 0; $i < strlen($givenOtp); $i++) {
		if($givenOtp[$i] == " ") { $givenOtp[$i] = "/"; }
		elseif($givenOtp[$i] == ".") { $givenOtp[$i] = "="; }
		elseif($givenOtp[$i] == "-") { $givenOtp[$i] = "+"; }
	}

	// erstes Zeichen pruefen ob z oder y
	// abhaengig davon alle y durch z ersetzen und umgekehrt
	$z = $givenOtp[0];
	$crypted = substr($givenOtp, 1);

	if($z == "y" or $z == "Y") {
		for($i = 0; $i < strlen($crypted); $i++) {
		  if	($crypted[$i] == 'y') { $crypted[$i] = "z"; }
		  elseif($crypted[$i] == 'Y') { $crypted[$i] = "Z"; }
		  elseif($crypted[$i] == 'z') { $crypted[$i] = "y"; }
		  elseif($crypted[$i] == 'Z') { $crypted[$i] = "Y"; }
		}
	}

	if($z == "Y" or $z == "Z") {
		for($i = 0; $i < strlen($crypted); $i++) {
			if(ctype_upper($crypted[$i])) {
				$crypted[$i] = strtolower($crypted[$i]);
			} else {
				$crypted[$i] = strtoupper($crypted[$i]);
			}
		}
	}

	// base64 String nun in binary dekodieren
	$crypted = base64_decode($crypted);

	// gegebenes One Time Passwort mit AES entschluesseln
	$aes = new Crypt_AES();
	$aes->disablePadding();
	$aes->setKey($key);
	$plain = $aes->decrypt($crypted);

	// entschluesseltes Passwort aufteilen in

	// aktueller Zaehlstand
	$i	 = substr($plain, 0,1);
	$j	 = substr($plain, 1,1);
	$n	 = ord($i) + (ord($j) << 8);

	// und Datenblock
	$plain = substr($plain, 2, strlen($plain)-2);

	// wenn Datenblock korrekt und Laufnummer nach aktueller Nummer:
	// aktuelle Nummer zurueckgeben (Login korrekt)
	if(($plain == $data) and ($n > $number)) {
		return $n;
	} else {
		return false;
	}
}

Natürlich kann das Entschlüsseln auch mit der mcrypt Erweiterung von PHP durchgeführt werden. So benötigt man keine zusätzliche Bibliothek wie phpseclib. Um das Passwort mit mcrypt zu entschlüsseln, muss der Codeteil


$aes = new Crypt_AES();
$aes->disablePadding();
$aes->setKey($key);
$plain = $aes->decrypt($crypted);

durch die entsprechenden mcrypt Aufrufe ersetzt werden:


$td = mcrypt_module_open("rijndael-128", "", "ecb", "");
$iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_DEV_RANDOM);
mcrypt_generic_init($td, $key, $iv);
$plain = mdecrypt_generic($td, $crypted);

Fazit

Ich bin mit der Lösung sehr zufrieden. Die AES Schlüssel/Datenblöcke lassen sich komfortabel in der Datenbank ablegen und auch leicht ändern, falls der Stick verloren geht. Besonders wenn man oft in unsicheren Netzen unterwegs ist (z.B. in der Firma oder an der Uni, in Internet Cafes usw.) ist die Lösung praktisch. Es müssen keine langen Einmalpasswörter von einem Display abgeschrieben werden und der Stick läuft gleichermaßen unter Linux und Windows. Die Integration in die eigene Applikation ist denkbar einfach.

Einziger Nachteil: der Stick hat keine Zeitkomponente, d.h. jemand könnte das Passwort abgreifen und dann die Netzverbindung kappen. Erst wenn sich der Besitzer einloggt, wird das zuvor abgepishte Passwort ungültig. Ebenso lassen sich mehrere Passwörter auslesen: so lange der Besitzer sich nicht einloggt, bleiben sie alle gültig.

Bisher bin ich überzeugter Benutzer von XnView, einem freien und kostenlosen Bildbetrachter. Nachdem mir nun aber eine Lizenz für das neue ACDSee Pro 3 zugeflogen ist, habe ich mich entschlossen das Bildverwaltungstool eingehender zu testen.

Das Programm ist seit Anfang Oktober zu haben und wirbt mir einer Menge neuer Features, hier mal kurz gelistet:

  • Intuitive Nutzeroberfläche
  • Bahnbrechender Bildverarbeitungs-Modus
  • Verbesserte flexible, zerstörungsfreie Verarbeitungseinstellungen
  • Regler zum Bearbeiten der Lebendigkeit im Bild
  • Erweiterte Farbe Bild-Verarbeitungs-Werkzeug
  • Bequemer FTP-Uploader
  • Kostenloses Veröffentlichen und Speichern von Fotos online
  • SMTP-Email Unterstützung

Um den Workflow eines Fotografen best möglichst zu unterstützen, gliedert sich die Anwendung in vier Bereiche: Verwalten, Ansicht, Verarbeiten und Online.

Screenshot ACDSee Pro 3

Die Featureliste liest sich ganz gut, aber ich bin immer skeptisch bis zu letzten Sekunde. Ein erster Test zeigt aber, dass die Software einiges unter der Haube hat. Sie läuft schnell und stabil. Der Aufbau ist eben genau so, wie man es sich von einem Bildbetrachter erwartet (sowohl von der Struktur als auch von der Bedienung). An der Stelle ist, mit Ausnahme der stimmigeren Oberfläche und dem schön aufbereiteten Histogramm der Unterschied zu XnView nicht groß. Sehr schön sind allerdings einfach zu erreichende Buttons um Bilder z.B. zu versenden oder eine Diashow zu erstellen. Zudem kann die aktuelle Ansicht als Arbeitsbereich gesichert werden (um so die Menüstruktur zu speichern und ggf. später wieder herstellen zu können).

Wo ACDSee eindeutig die Nase vorne hat, ist im Modus “Verarbeiten”. Hier kann das jeweilig gewählte Bild bequem bearbeitet werden, wobei neben der herkömmlichen Aktionen (Größe ändern, Kontrast, etc.) es komfortable Regler für Einstellungen wie “Temperatur”, “Beleuchtung” oder “Lebendigkeit” hat. Es lassen sich so sehr schnell die wesentlichen Optionen eines Bildes manipulieren und verbessern. Wobei mein Favorit die Option “Temperatur” ist, womit die wärmere oder kühlere Farbtöne verstärkt werden können. Es lassen sich mittels “Beleuchtung” und “Belichtung” auch sehr gut Fehler in der Belichtung des Bildes korrigieren.

Screenshot ACDSee Pro 3

Ein Reiter Geometrie erlaubt es auch, mit Hilfe von Gitternetzlinien Verzerrungen zu korrigieren. Hier habe ich noch keine so gute Implementierung gesehen. Bisher hat hier bei mir die “perspektivisch Verzerren” Funktion von GIMP herhalten müssen.

Zudem können Bilder auch direkt über ACDSee online gespeichert und mit anderen geteilt werden. 2GB stellt ACDSee dafür zur Verfügung. Sicher ein Argument für das Programm, aber eine Funktion die für mich nicht so wichtig ist.

Fazit: Insgesamt ist ACDSee Pro 3 eine echt super Software. Was XnView kann, steckt auch alles in ACDSee (z.B. Stapelverarbeitung, Diashows erstellen, HTML Galerie erstellen usw.). Der Bearbeitenmodus ist aber eindeutig besser und erlaubt für einen Fotografen intuitivere Einstellungsmöglichkeiten und ein viel schnelleres und bequemeres Aufbereiten der Fotos. Auch der Online Modus und die Möglichkeiten Arbeitsbereiche zu speichern sind tolle Erweiterungen. Ob das den Preis rechtfertigt, muss jeder selbst entscheiden. Mit ACDSee Pro 3 liegt man auf jeden Fall nicht falsch.

Weitere Infos: http://de.acdsee.com/

Wie bereits angekündigt, ist rsslounge jetzt für alle öffentlich verfügbar. Für alle die nicht wissen worums überhaupt geht, hier ein kleiner Überblick:

rsslounge ist ein kostenloser, webbasierter RSS Feed Reader. Der Reader ist kein gehosteter Service und muss auf dem eigenen Webserver installiert werden.

rsslounge screenshot

Features:

  • Vollständiger RSS Reader
  • Unterstützt Bilder und Fotoblogs
  • Setze Prioritäten und filtere Feeds und Einträge
  • Einfache ajaxbasierte Oberfläche
  • Unterstützt auf Ajax basierende, sowie Cronjob Updates
  • Offenes Pluginsystem zum Hinzufügen eigener Datenquellen

Also keine falsche Scheu, einfach saugen und austesten. Über Feedback, egal welcher Art, bin ich dankbar und freue mich über eure Meinungen, Gedanken, Ideen und Probleme.

Downloaden könnt ihr rsslounge hier.

Wer sich für den Quellcode interessiert, der kann sich auf der Google Code Seite informieren. Dort findet ihr ein Wiki, das SVN Repository und weitere Infos. Die Seite werde ich nach und nach mit weiteren Infos befüllen.

Vor einigen Monaten habe ich hier ein kleines Skript zur Verfügung gestellt, das als kleiner Online-Notizzettel verwendet werden kann. Mittlerweile nutze ich das Skript täglich und trotz seiner Einfachheit ist es ein unheimlich nützlicher Helfer geworden. Für alle die das Skript nicht kennen: es ist nichts anderes als ein in Web abgelegter Richt-Text-Editor, in dem beliebiger Text geschrieben und gespeichert werden kann.

Online-Notizzettel

Egal wo man ist, Zuhause, in der Arbeit, in der Uni: von überall hat man Zugriff auf dieses eine Dokument und kann dort kurze Notizen und ToDo Listen speichern.

Dieses Skript habe ich nun aktualisiert. Es basiert nun nicht mehr auf tinyMCE, sondern auf der neuesten Version vom CKEditor. Insgesamt finde ich den Editor ansprechender, schicker und auch praktischer. CKEditor war früher einmal der FCKEditor und ist in der neuesten Version wirklich rundum gelungen. Nur die Dokumentation lässt etwas zu wünschen übrig.

Das Skript ist natürlich frei verfügbar (nur die Lizenz vom CKEditor muss beachtet werden) und darf sonst frei verändert und weiterverwertet werden.

Die Installation ist simpel: einfach die Dateien der ZIP Datei hochladen und für die Datei “data” Schreibrechte setzen. Bei Bedarf mittels .htaccess einen Passwortschutz setzen, sonst kann jeder, der die Url kennt eure Notizen lesen. Mit der Tastenkombination “Alt + S”, oder dem Speichern Icon, kann das Dokument gespeichert werden.

Download: Online-Notizzettel 2.0 (692 kB)

Kaum zu glauben, aber es ist wahr: Monkey Island wird neu aufgelegt. Ich freu mich wahnsinnig auf die technisch verbesserte Version des Klassikers “The Secret of Monkey Island”. Diese soll im Sommer erscheinen und auf der LucasArts Seite gibt es schon einen ersten Trailer. Ron Gilbert, einer der führenden Entwickler der ersten Monkey Island Spiele, schreibt in seinem Blog auch über ein komplett neues Spiel mit dem Titel “Tales of Monkey Island“. Monatlich sollen ab dem 7. Juli die einzelnen Teile erscheinen.

Wer es kaum noch abwarten kann, der sollte sich vielleicht den Soundtrack saugen oder den ersten Teil nochmal im Schnelldurchlauf als Flashmovie ansehen: