"Leopard ist ein großer Schritt für Entwickler"

Interview mit

Matthias Gansrigler, freier Softwareentwickler.

Mac OS X 10.5 erfreut sich großer Beliebtheit – viele Millionen User haben bereits den Sprung auf den Leoparden gewagt. Mit seinen über 300 Neuerungen hat das neue Apple-Betriebssystem einiges zu bieten, vom überarbeiteten Finder/Desktop über Time Machine und Spaces bis hin zu Boot Camp und Mail 3.0. Doch wie ist Mac OS X 10.5 aus Entwicklersicht zu bewerten? Welche Vorteile bringt "Leopard" der ständig wachsenden Programmierer-Gemeinde? MacGadget sprach darüber mit dem freien Softwareentwickler Matthias Gansrigler.



MacGadget: Mac OS X 10.5 ist seit Ende Oktober im Handel erhältlich. Von welchen Neuerungen sind Sie besonders angetan?

Matthias Gansrigler: Es gibt zwei Dinge, die es mir als Programmierer besonders angetan haben: Core Animation, ein großartiges Framework um seine Produkte mit schicken Animationen und Effekten aufzupolieren (die "Ah"-s und "Oh"-s der Core Animation-Präsentation auf der WWDC '06 klingen mir heute noch in den Ohren), und die Scripting Bridge, die ich insbesondere für GimmeSomeTune ins Auge gefasst habe. Damit ist es möglich, über Objective-C und AppleScript mit anderen Programmen sehr schnell zu kommunizieren, sofern diese das unterstützen. Die Scripting Bridge ist leider noch etwas fehlerbehaftet, aber ich denke, Apple wird hier bald nachbessern.

Aus Anwendersicht steht "Back to my Mac" bei mir an erster Stelle. Da ich häufig unterwegs bin, habe ich damit die Möglichkeit, Dateien von meinem Power Mac "on-the-go" per Internet auf mein MacBook Pro zu kopieren, ohne es vorher umständlich an meinen Power Mac anschließen zu müssen und per LAN zu kopieren.

Eternal Storms SoftwareSpaces ist ebenfalls so ein Kandidat, den ich für ein ausgezeichnetes neues Feature halte und bei dem ich mich frage, wie ich je ohne es leben konnte. Auch Quick Look ist eine feine Sache. Den Inhalt von Dateien ansehen zu können ohne das dafür vorgesehene Programm öffnen zu müssen ist schlichtweg genial und spart Zeit.

Die Stacks (das Verhalten von Ordnern im Dock) sagen mir hingegen nicht zu. Sie sind zwar eine gute Demonstration der Möglichkeiten, die man als Entwickler mit Core Animation hat, aber wirklich nützlich finde ich sie nicht.

MacGadget: Inwiefern erleichtert Mac OS X 10.5 die Entwicklung von Software im Vergleich zu Mac OS X 10.4?

Matthias Gansrigler: Xcode 3 ist großartig. Ein wichtiges Feature ist das Erstellen von Snapshots für diejenigen, die mit SVN (quasi ein "Source-Versionierungs-Tool") nicht viel anfangen können, oder zusätzlich zu SVN verwenden wollen. Damit kann vom gesamten Code schnell eine Kopie erzeugt werden. Sollte dann im weiteren Entwicklungsverlauf etwas schief gehen, kann die alte Version einfach wieder hergestellt werden. Man könnte sagen, es ist eine Art Time Machine für den Sourcecode.

Auch der Interface Builder, ein weiterer Bestandteil der Entwickler-Tools für Mac OS X, hat wichtige Neuerungen erfahren. Um ein kleines Beispiel zu nennen, können jetzt endlich Toolbars mit dem Interface Builder erstellt werden. Das musste man unter Mac OS X 10.4 per Code erledigen, jetzt reichen ein paar Klicks. Ein weiteres neues Tool prüft Programme auf Performance und zeigt auf, wo es Optimierungspotential gibt. Core Animation darf natürlich nicht fehlen. Wo man vorher für das Ausblenden eines Fensters einen Timer mit 15 Codezeilen gebraucht hat, braucht man jetzt nur noch eine einzige Zeile Code - das nenne ich Effizienz.

Man darf aber auch nicht die kleineren Dinge vergessen, mit denen Apple es uns Entwicklern um einiges einfacher macht. NSGradient - eine Klasse zum Erstellen von Farbverläufen - ist hier ein angebrachtes Beispiel. Vorher musste man sie entweder komplett selber schreiben oder auf anderen Code (CTGradient) zurückgreifen.

Alles in allem ist Leopard ein großer Schritt für Programmierer. Es gibt viele wichtige Neuerungen, durch die sicherlich mehr und mehr Entwickler ihren Weg auf den Mac finden werden.

MacGadget: Was halten Sie von den Sicherheitsverbesserungen in "Leopard"? Wo sehen Sie noch Änderungsbedarf?

Matthias Gansrigler: Es gibt großartige Sicherheitsverbesserungen in Mac OS X 10.5. Darunter Sandboxing - eine Umgebung, in die man Programme "einsperren" kann, so dass sie auf bestimmte Systemressourcen (wie das Netzwerk) nicht zugreifen können. Somit können Programme, die in dieser Umgebung laufen, nicht von Hacks für Dinge ausgenutzt werden, für die sie nicht gedacht sind.

Xcode 3.0Weitere Beispiele: "Random Library Loading" (das Laden von Bibliotheken in zufällig ausgewählte Speicherbereiche), die neue Firewall mit zusätzlichen Einstellungsmöglichkeiten und "Code Signing", mit dem Entwickler ihre Programme markieren können, so dass der Anwender sicher gehen kann, dass das Programm aus der Feder des angegebenen Entwicklers stammt und nicht aus anderer Quelle kommt.

Dabei muss man aber bedenken, dass die Implementation dieser Features in "Leopard" teilweise in den Kinderschuhen steckt. Nur wenige Apple-Programme laufen in Sandbox, wichtige Bibliotheken wie die "dynamic linker library "(dyld) werden noch nicht in eine zufällige Stelle des Speichers geladen. Auch die Firewall musste schon einiges an Kritik einstecken.

Das neue Alert-Panel, das beim ersten Start eines Programms zu sehen ist, würde ich eher als netten Versuch als ein neues Sicherheits-Feature ansehen. Die ersten paar Male liest man es vielleicht, später klickt man es ohne zu lesen weg - und ich finde es mittlerweile einfach nur noch störend.

MacGadget: Apple verspricht, Mac OS X 10.5 und Xcode 3.0 würden zur verbesserten Performance von Programmen beitragen (sofern diese mit Xcode 3.0 neu compiliert werden). Stimmt das oder hält sich der Performance-Gewinn in Grenzen? Wie viel Spielraum gibt es überhaupt noch für weitere Optimierungen?

Matthias Gansrigler: Der Compiler in Leopard wurde sicherlich so verbessert, so dass durch reines Neukompilieren geringe Performance-Gewinne erreicht werden können.

Um eine signifikante Performance-Steigerung zu erlangen, ist es mit einem einfachen Neukompilieren meist nicht getan. Apple bringt mit Mac OS X 10.5 neuen Code, mit dessen Hilfe man seine Programme besser optimieren kann, wie "NSOperation" und "NSOperationQueue" - damit erstellt man eine Anreihung von Operationen, die dann abgearbeitet wird - vom System gesteuert. Für sehr speicherhungrige Programme ist die erweiterte und auf Cocoa ausgedehnte 64 Bit-Unterstützung interessant.

Diese Neuerungen sind für mich aber bislang belanglos, denn noch habe ich keine Programme, die Performance-hungrig sind. Allerdings wirkt der aktuelle interne Build von GimmeSomeTunes, der mit Xcode 3.0 compiliert wurde, etwas schneller.

Auf eine "Leopard"-Version von Photoshop darf man auf jeden Fall gespannt sein, da kann ich mir schon ordentliche Performance-Gewinne vorstellen.

In Multi-Core-Maschinen steckt noch genügend Spielraum für weitere Optimierungen. Core Animation ist ein grandioses Beispiel für das Optimierungspotential in modernen Systemen. Dabei wird der Großteil der Grafik-Abhandlung auf die Grafikkarte ausgelagert, so dass die CPU selbst kaum noch beansprucht wird. Ähnliches sieht man bei OpenGL mit Multi-Core-Unterstützung, das ebenfalls in Mac OS X 10.5 Einzug gehalten hat. In dieser Richtung ist für die Zukunft sicherlich mehr zu erwarten.

MacGadget: Was würden Sie sich aus Entwicklersicht für künftige Versionen von Mac OS X und Xcode wünschen?

Matthias Gansrigler: Mehr Offenheit in puncto Interface-Elemente, die Apple benutzt. Mac OS X 10.5 bringt in diesem Bereich einige Verbesserungen mit. So kann man das HUD-Panel nun verwenden und muss es nicht selbst schreiben. Aber die dazu passenden Scroll-Balken oder Buttons werden immer noch nicht zur Verfügung gestellt. Diese muss man nach wie vor selbst zeichnen bzw. programmieren. Hoffentlich bessert Apple hier nach.

MacGadget: Sie haben einige nützliche Tools für "Leopard"-User geschrieben. Was machen diese Tools?

Matthias Gansrigler: Mein erstes "Leopard"-Programm, das ich geschrieben habe, ist 2DOrNot2D. Es stellt das horizontale Dock von 3D- auf 2D-Ansicht um (und umgekehrt). Ein weiteres Tool ist OpaqueMenuBar. Damit lässt sich die Transparenz der Menüleiste regulieren - in verschiedenen Schattierungen, dunkler oder heller. Vor kurzem habe ich auch ein Plug-in herausgebracht, das es ermöglicht, EPS-Dateien in Quick Look darzustellen. Neu ist HierarchicalDock. Dieses Programm bringt die hierarchischen Menüs für Ordner im Dock zurück, so wie man sie aus Mac OS X 10.4 kennt, aber mit weiteren nützlichen Funktionen. Zum Beispiel können statt den Datei-Icons Quick Look-Previews oder unsichtbare Dateien angezeigt werden.

Seit zwei Jahren biete ich GimmeSomeTunes an - ein iTunes-Controller, der den gerade spielenden Track in einem Info-Fenster mit Artwork und weiteren Informationen anzeigt. Zudem lädt GimmeSomeTunes automatisch Cover Artwork und Liedtexte aus dem Internet und überträgt die gespielten Songs auf last.fm. Das Freeware-Programm erfreut sich großer Beliebtheit und dafür möchte ich mich an dieser Stelle herzlichst bedanken.

MacGadget: Sind weitere Tools oder Quick Look-Plugins geplant bzw. in Arbeit?

Matthias Gansrigler: Ich habe kürzlich versucht, ein Quick Look-Plug-in für .webloc-Dateien zu schreiben, so dass man sich die Websites, zu denen die Dateien führen, schnell ansehen kann. Da der Quick Look-Server aber in der Sandbox-Umgebung läuft, und daher keinen Zugriff auf das Netzwerk hat, ist dieses Plug-in bis auf weiteres auf Eis gelegt.

Außerdem überlege ich, ob eine Erweiterung von 2DOrNot2D lohnt - hier schwebt mir ein Dock-Allrounder vor. Von dieser Sorte gibt es natürlich schon einige, aber es gibt ein, zwei Dinge, die ich in bisher keinem Dock-Programm gesehen habe - vielleicht wird es ja was.

MacGadget: Seit zwei Jahren gibt es Intel-Macs, immer mehr User wechseln auf die neuen, leistungsfähigeren Systeme. Glauben Sie vor diesem Hintergrund, dass der Nachfolger von Mac OS X 10.5 noch auf PowerPC-Maschinen laufen wird? Was wäre Ihre persönliche Präferenz in dieser Frage?

Matthias Gansrigler: Basierend auf den Erfahrungen mit der Umstellung von Mac OS 9 auf Mac OS X ist davon auszugehen, dass der Nachfolger von "Leopard" auf PowerPC-Maschinen laufen wird. Mac OS 9-bootfähige Systeme wurden noch verkauft, als Mac OS X 10.2 bereits da war. Insofern darf man schon darauf hoffen, dass das nächste Apple-Betriebssystem noch PowerPC-Unterstützung enthalten wird.

Ich persönlich fände es natürlich toll, würde Apple den PowerPC so lange unterstützen, bis der letzte User auf Intel umgestiegen ist, aber das kann man natürlich nicht erwarten. Meine Programme möchte ich so lange für PowerPC-Macs anbieten, bis Apple die Unterstützung aus Xcode entfernt.

Kommentare

Gelungenes Interview!

Hoffen wir dass all die Verbesserungen für Developer in Leopard auch den Softwarebestand wachsen lassen. Auf das Optimierungspotential bin ich gespannt. Bei Adobe wird es wohl wieder Jahre dauern, bis etwas angepasst wird...