Komfortabler Dateimanager mit vielen Funktionen

Squeez & TxQuickView

Ein Teufelskreis

By Sven on 22.08.2009 - 15:00 in Squeez & TxQuickView with 31 Kommentare

Als Rainer 1997 das SQX-Format entwickelte, haben wir uns beide überlegt, wie man dieses Format am besten bekannt machen könnte. SpeedCommander war hauptsächlich nur ein Dateimanager und damit weniger geeignet, ein neues Komprimierungsformat einzuführen. Wir entschieden uns daher für ein neues Projekt: ein Archivierungsprogramm. Bis zu dieser Zeit wurden die Programme meistens nach ihrem Format (WinZip, WinRar, WinAce) benannt. Wir wollten mit unserem Komprimierer aber nicht nur auf SQX beschränken, sondern auch mehrere Formate packen und entpacken können. Daher entschieden wir uns für den Namen Squeez. Ein Kunstwort, das vom englischen squeeze (quetschen) abgeleitet wurde.

Squeez wurde ein großer Erfolg, in Vergleichstesten war er ständig unter den ersten Plätzen und etliche Male auch ganz vorn. Das SQX-Format musste sich vor den anderen etablierten Formaten (RAR, ACE) nicht verstecken, in einigen Bereichen (z.B. WAV-Komprimierung) hing es die anderen Formate sogar locker ab. Rainer steckte viel Arbeit in SQX2, um die Komprimierleistung nochmals zu verbessern. Dazu überarbeitete ich die Oberfläche von Squeez und die Explorer-Einbindung. Auch ein Outlook-AddIn war in Arbeit.

Die Entwicklungsarbeiten für Squeez 5 waren weitgehend abgeschlossen, als Rainer im November 2004 ganz unverhofft für immer die Augen schloss. Da ich nicht wollte, dass die ganze Arbeit umsonst war, habe ich im Frühjahr 2005 die neue Version freigegeben. Zwischendurch mussten noch einige Fehler an den Archivern behoben werden. Die Kompressoren und Dekompressoren waren davon glücklicherweise kaum betroffen; und wenn, dann nur an Stellen, die auch ich überblicken konnte.

Etwas später folgte dann die Überarbeitung des SQX-SDKs sowie eine Linux-Kommandozeilenversion. Mit dem Einzug von Vista wurde Squeez auch UAC-fähig gemacht. Soweit es mir bekannt ist, ist Squeez bis heute das einzige Packprogramm, das Archive auch in UAC-geschützte Verzeichnisse entpacken kann.

In den letzten zwei Jahren musste ich feststellen, dass die Entwicklung von SpeedCommander immer mehr Ressourcen forderte. Mittlerweile umfasst der Quelltext von SpeedCommander samt den untergeordneten Bibliotheken 450000 reine Codezeilen, Kommentare und Leerzeilen sind hier schon abgezogen. Für die Packer kommen noch einmal 150000 Codezeilen dazu. Für einen einzelnen Programmierer ist das eine Menge Holz.

Daher gab es für Squeez nur noch kleinere Fehlerbehebungen. Ich wollte eigentlich auch die überarbeiteten Packer in Squeez einfließen lassen. Das erfordert aber auch wieder etliche Anpassungen, für die ich bisher noch keine Zeit gefunden habe. Für eine neue Hauptversion müssten zudem die Archiver für die Arbeit auf mehreren Prozessoren überarbeitet werden, damit Squeez auch wieder zu seinen Mitbewerbern aufschließen kann.

Allerdings fehlt mir dazu abgesehen von der Zeit auch das nötige Hintergrundwissen zum Aufbau und zur Arbeitsweise der Kompressoren. Rainer hat immer sehr viel Zeit damit verbracht, die optimalen Einstellungen zu finden und die Packer entsprechend zu justieren. Zudem müssen auch bei jeder kleinen Änderung an den Kompressoren gigabytegroße Daten getestet werden. Rainer nannte es immer ‘Bits zählen’.

Ich kann aber eine Software nicht mit gutem Gewissen verkaufen, von der ich weiß, dass größere Neuerungen eher unwahrscheinlich sind. Nach langen Überlegungen habe ich mich deshalb schweren Herzens dafür entschlossen, die weitere Entwicklung und den Verkauf von Squeez einzustellen. Davon betroffen ist auch ZipStar, welches auf den gleichen Quelltexten aufbaut. Es ist mir einfach nicht möglich, Squeez in der bisherigen Qualität weiterzuentwickeln.

Eine Freigabe des Quellcodes zur Lebenszeitverlängerung ist auch keine Alternative. Squeez enthält viele Sachen, die auch in SpeedCommander Verwendung finden, sowie lizenzierte Komponenten, deren Quellcode nicht veröffentlicht werden kann.

Ein großes Dankeschön geht an dieser Stelle an die vielen treuen Squeez-Anwender. Ich hoffe, dass ihr Verständnis für meine Entscheidung habt und die Gründe dafür auch einigermaßen nachvollziehen könnt. Viele Squeez-Anwender sind zudem auch SpeedCommander-Anwender, so dass wir uns sicher so schnell nicht aus den Augen verlieren werden. Möglicherweise landet auch die eine oder andere Squeez-Funktion (z.B. das Kontextmenü) demnächst in SpeedCommander.

TxQuickView wird eingestellt

By Sven on 06.02.2008 - 13:47 in Squeez & TxQuickView with 3 Kommentare

TxQuickView wurde vor vier Jahren zu Zeiten von SpeedCommander 10 auf Anfrage eines Total Commander-Anwenders entwickelt. Es kapselt die Schnellansicht von SpeedCommander und stellt diese dem Total Commander als Plugin zur Verfügung. Ich hatte mich damals entschlossen, TxQuickView als Shareware anzubieten, die Vollversion konnte für 8 EUR erworben werden.

Die letzte Version von TxQuickView ist nun etwas mehr als zwei Jahre alt, Neuerungen gab es nicht mehr zu vermelden. Das liegt vor allem daran, dass auch die Schnellansicht in SpeedCommander keine großen Sprünge mehr gemacht hat. Zudem beruht TxQuickView auch noch auf den Bibliotheken von SpeedCommander 10, Änderungen in den neueren Bibliotheksversionen müssen somit immer aufwendig rückportiert werden. Eine Aktualisierung auf Visual Studio 2008 ist leider nicht möglich, da TxQuickView damit nur noch ab Windows 2000 einsatzbereit wäre.

Ich habe mich daher entschlossen, die Entwicklung von TxQuickView einzustellen. Die Version 1.30.5260 kommt ohne Shareware-Hinweis daher und kann frei und ohne Einschränkungen verwendet werden. Fehlerbehebungen bzw. Anpassungen an neuere Versionen von Total Commander wird es aber nicht mehr geben.

SQX für Linux freigegeben

By Sven on 17.05.2006 - 09:58 in Squeez & TxQuickView with 1 Kommentar

Nach einer längeren Testphase sollte die erste SQX-Kommandozeilenversion für Linux nun alltagstauglich sein, Interessenten können sie hier herunterladen.

Die Kommandozeilenparameter sind identisch zur Windows-Version, eine vorhandene Signaturdatei sollte in $home/.sqx abgelegt werden. Die aktuelle Version beschränkt sich auf das SQX-Format, eine SFX-Unterstützung ist erst einmal nicht vorgesehen. Das SQX-Format enthält derzeit noch keine Unterstützung für UID und GID, eine Implementierung ist aber geplant.

SQX für Linux

By Sven on 15.02.2006 - 19:42 in Squeez & TxQuickView with 1 Kommentar

Wie es scheint, rückt die Fertigstellung von SQX für Linux allmählich näher. In den letzten Tagen habe ich die Konsolenanwendung überarbeitet und auch gleich fit für Linux gemacht.

SQC - Parameter

Prinzipiell funktioniert erst einmal alles, wie man es bisher von der Windows-Version gewohnt ist. Die Linux-Version beschränkt sich vorerst auf die SQX-Unterstützung, eine mögliche Erweiterung mit anderen Formaten ist denkbar. Ausgeschlossen davon sind ACE (kein freier Entpack-Quellcode), CAB (keine MS-Bibliotheken für Linux) und 7z. SFXe sind unter Linux ja weniger üblich, daher kann ich native Linux-SFXe wohl erst einmal zurückstellen.

SQC - Komprimieren

Spätestens nach dem geplanten Release von SpeedCommander 11.1 im März wird dann auch eine öffentliche Betaversion verfügbar sein. Bis dahin muss ich noch ein paar kleinere Sachen abklopfen, der Großteil der Portierung ist aber wohl getan.

Hello Linux

By Sven on 30.01.2006 - 07:50 in Squeez & TxQuickView with 8 Kommentare

Eines der Dinge, welche ich mir für dieses Jahr vorgenommen habe, ist die Portierung von SQX auf Linux. Am Freitag habe ich nun meine ersten Programmierversuche unter Linux gemacht, das erste Programm hat so ausgesehen:

Hello Linux

KDevelop hat mich als Entwicklungsumgebung angenehm überrascht, obwohl ich natürlich schon ein paar Details aus dem VC6 vermisse. Dank dem QMake-Manager muss man sich auch nicht mit Make-Dateien herumquälen. Was ich allerdings noch nicht geschafft habe, ist das Erstellen von zwei unterschiedlichen Debug- und Release-Konfigurationen (welche man dann je nach Bedarf aktivieren kann) und die Ausgabe der Zwischendateien in separate Verzeichnisse.

Der erste Schritt war dann die Anpassung der Funktionen für den Dateizugriff. Rainer hatte schon alle Dateifunktionen über eine systemübergreifende Zwischenschicht implementiert, so dass eigentlich nur die Win32-Funktionen durch die entsprechenden Linux-Pendants zu ersetzen waren. In der Praxis war das aber etwas komplizierter, da ich mich ohne Vorkenntnisse der glibc durch die einzelnen Funktionen hangeln musste. Hier habe ich dann doch eine Art MSDN für Linux vermisst, da man sich die entsprechenden Informationen über verschiedene Quellen zusammensuchen muss. Eine gute Hilfe ist auch das Buch Linux/Unix-Systemprogrammierung von Helmut Herold.

An einigen Stellen traten noch Unterschiede zwischen dem MSC- und GNUC-Compiler hervor. Der GNUC-Compiler möchte hexadezimale int64-Konstanten mit einem ULL abgeschlossen haben (z.B. 0x428a2f98d728ae22ULL) , während dem MSC-Compiler dieses gar nicht passt. Insgesamt gesehen kamen derartige Anpassungen aber recht selten vor.

Am Ende lief alles durch und ich habe auch schon das erste Archiv entpackt bzw. erstellt. Der nächste Schritt ist dann die Portierung der Konsolenanwendung. Ich hätte nicht erwartet, dass sich erste Ergebnisse schon so schnell einstellen.

Top