280 Slides samt Cappuccino – Cocoa fürs Web?

Das Echo bezüglich des Launch von 280 Slides, einer neuen Online Präsentationssoftware ist ziemlich eindeutig:

  • Wow, ist ja wie Apple Keynote fürs Web!
  • Die Anwendung setzt Maßstäbe in Sachen Usability!
  • Die Grenzen zwischen Web und Desktop Anwendungen verschwimmen immer mehr!

Nur: Braucht die Welt wirklich noch 5000 weitere Online Office Anwendungen?


Nein! Zumindest nein, wenn die Entwickler das Ziel haben langfristig mit der Anwendung selbst Geld zu verdienen. Und Venture Capital sammeln zählt nicht als Geld verdienen.

Zu den Nutzern von Präsentationssoftware gehören vor allem Unternehmen und deren Akzeptanz wird gering sein, solange nicht absehbar ist ob der Software Anbieter (samt den bei ihm gespeicherten Daten) in einem Jahr überhaupt noch existiert. Ein wunderschönes Beispiel dafür ist iAmaze, die diese Idee schon im Jahr 2000(!) verfolgt haben und inzwischen vom AOL Moloch absorbiert wurden.

Die gern zitierte Erkenntnis, das vom großen Vorbild Microsoft Office 80% der User nur 20% der Features nützen rechtfertigt zudem die beschränkte Funktionalität dieser Anwendungen nur auf den ersten Blick. Wenn nämlich jeder Benutzer andere 20% braucht und verwendet (persönliche Killer-Features für mich: PDF-Export, Presenter-Modus, Masterslides), dann wundert man sich recht schnell warum man nicht gleich Microsoft Office oder OpenOffice verwendet.

Gerade im Unternehmenseinsatz kommen dann noch ganze andere Aspekte hinzu: Die Tatsache, das man nicht mal eben ein Management Briefing mit vielen bunten und vertraulichen Zahlen auf dem Server irgendeines Startups liegen haben will klopft dann auch noch leise an der Tür der IT-Security Abteilung. Dieses Henne-Ei Problem, nämlich das ein Softwareanbieter erst einmal bis zu einem gewissen Punkt wachsen muss um Stabilität (im Sinn von Bestehen am Markt) und Vertrauenswürdigkeit vermitteln können, für dieses Wachstum aber erst mal diese beiden Faktoren sicherstellen muss wird sich nicht durch ein weiteres Web Office me-too Produkt aufbrechen lassen.

Die verdammte Lernkurve

Man übersieht aber bei diesem sehr wirtschaftlichen und kurzfristigen Blick leicht, wie das Web als Gesamtes von solchen Entwicklungen profitiert. Auf die gleiche Art wie der Zweite Weltkrieg und der Kalte Krieg ein technologische Wettrüsten ausgelöst haben, ohne das wir heute (so pervers es klingt) wahrscheinlich keinen Computer auf jedem Schreibtisch hätten, treibt die Blase um Web-basierte Anwendungen und Software-as-a-service Geschichten natürlich die Etablierung des Browsers als ernstzunehmendes Entwicklungsziel weiter voran.

Im Laufe der Zeit wird dadurch ein enormer Erfahrungsschatz in Sachen Web-basierte Clients aufgebaut, schon allein weil viele Fehler der Desktop Client Entwicklung wieder gemacht werden und viele Probleme wieder auftauchen. Als Lösung entstehen immer bessere Web-Frameworks und somit Abstraktionen von den darunter liegenden Technologien (HTML/CSS/JavaScript).

Warum 280 Slides wichtig und interessant ist

Abstraktion ist genau der Begriff für das was 280 Slides interessant macht. Man mag ja durchaus Zweifel am Geschäftsmodell einer Präsentationssoftware haben, aber aus technischer Sicht haben die Entwickler 280 North wirklich Neuland betreten:

Die drei Entwickler von 280 North waren wohl von Apple’s Cocoa Framework zur Desktop Entwicklung sehr begeistert. Denn 280 Slides wurde mit einem neuen Framework names Cappuccino realisiert, das nichts anderes ist als 280 North’s Versuch ist ein Cocoa ähnliches Framework für Web-basierte Clients zu entwickeln.

Wenn man einen Blick in den Quellcode wirft, wird man sich dann als Cocoa Entwickler sofort heimisch fühlen:

- (void)newDocument:(id)aSender
{
    if (!_applicationHasFinishedLaunching)
        return [super newDocument:aSender];

    [[ThemePanel sharedThemePanel]
        beginWithInitialSelectedSlideMaster:SaganThemeSlideMaster
                              modalDelegate:self
                             didEndSelector:@selector(themePanel:didEndWithReturnCode:)
                                contextInfo:YES];
}

Wie man sieht haben 280 North zudem eine Objective-C nicht unähnliche Sprache names Objective-J entwickelt. Samt Javascript Interpreter.

Die Idee Cocoa fürs Web klingt sehr verlockend, loben doch viele Entwickler (samt mir) die hohe Produktivität die man mit Cocoa erreichen kann. Als Beispiele seien nur Key-Value-Coding/Binding, Undo Manager und Delegates genannt. Wenn es jetzt 280 North schafft ihre Vision weiter zu verwirklichen, sind Mac Entwickler in der einmaligen Position mit der gleichen Sprache (Objective-C), gleichen Grundkonzepten und sehr ähnlichen Frameworks für den Mac (Cocoa), das iPhone (Cocoa Touch) und das Web (Cappuccino) entwickeln zu können. Haben Mac Entwickler schon jetzt den Vorteil mit einer gewissen Vorerfahrung an das Thema iPhone Entwicklung heran gehen zu können, könnte Cappuccino es schaffen diesen Vorsprung auch noch aufs Web auszuweiten.

Für den Entwickler bedeutet das, sich auf eine solide Technologiebasis verlassen zu können mit der sich Ideen schnell in Produkte umsetzen lassen. Der Anwender profitiert von Web-Clients die in Sachen Interaktivität, Funktionalität und Look-and-Feel gestandenen Desktop-Anwendungen kaum mehr nachstehen. Ich bin gespannt wann wir Lieblinge wie Delicious Library als Web-App sehen.

Abschied von der Web-Assembler Entwicklung

Cappuccino ist ein weiterer Nagel in den Sarg von etwas das ich Web-Assembler Entwicklung nenne. Damit meine ich das in Zukunft Web-basierte Anwendungen immer weniger in den Assembler-Sprachen des Webs (wie HTML/CSS/Javascript) geschrieben werden, sondern vermehrt Frameworks zum Einsatz die diese zum Teil unangenehmen Technologie abstrahieren.

Damit hat der Entwickler den Kopf frei für das eigentliche Problem und muss nicht mehr darüber nachdenken ob seine Text Felder jetzt in allen aktuellen Browsern richtig dargestellt werden. Das schöne daran ist, dass der Output fürs Web nur ein Implementierungsdetail ist und unter diesen Frameworks genauso gut Flash, SVG, Silverlight oder was auch immer stecken kann.

Dieser Ansatz wird zum Beispiel von der Eclipse RAP (Rich Ajax Plattform) schon verfolgt. Das Programmiermodell von RAP ähnelt sehr stark dem der Eclipse Rich Client Plattform. Damit können RCP Desktop-Anwendungen mit geringen Änderungen als Ajax Web-App verfügbar gemacht werden – ohne das der Programmierer auch nur eine Zeile Javascript oder HTML tippen muss.

Auch bringen Frameworks wie RAP und Cappuccino Standardisierte GUI-Komponenten mit, was natürlich die Usability verbessert.

Von Serverseitigen, über Gleichberechtigte hin zu Clientseitigen Anwendungen

Cappuccino unterscheidet sich aber von Eclipse RAP dadurch, dass das komplette Framework im Browser läuft.

In der Anfangszeit von Web-basieren Anwendungen lief die komplette Logik auf dem Server, der Browser war schlicht für die Anzeige der fertigen Seiten zuständig. Mit der Entdeckung von Ajax, wurden die Aufgaben zwischen Server und Client etwas mehr aufgeteilt. Der Browser dürfte selbstständig Eingaben (Vor-)validieren, Daten nachladen und Änderungen vom Server pollen.

Aktuell geht die Entwicklung dahin, komplette Anwendungen für den Browser zu entwickeln, die einmal geladen, komplett selbstständig im Browser laufen. 280 Slides zum Beispiel kommuniziert nur mit dem Server wenn es speichern will oder Daten (Bilder,etc) aus dem Web einfügt.

Der Vorteil darin liegt neben der höheren Interaktivität, dass es einfacher wird Web-Apps auch offline zur Verfügung zustellen. Auch kann sich der Softwareanbieter über eine geringere Serverlast freuen, wenn so gut wie alles auf dem Client abläuft.

Natürlich ist dieses Clientlastige Entwicklungsmodell vor allen bei Produktivitätsanwendungen wie Office Pakete oder Bildbearbeitung sinnvoll. Bei datenbanklastigen Anwendungen (z.B. Bücherladen) kommt man um eine häuftigere Kommunikation mit dem Server nicht herum.

Nur wie will 280 North jetzt Geld verdienen?

Bleibt noch die Frage warum 280 North überhaupt Funding erhalten haben. Meine Vermutung: 280 Slides ist für mich vor allem eine sehr gelungene Techdemo, mit dem 280 North einen idealen, medienwirksamen Showcase für ihr Cappuccino-Framework gefunden haben. Das große Geld kann dann über die Beratung und Umsetzung von individuellen Kundenprojekten mit ihrer eigenen Technologie kommen – aber das sind natürlich nur wilde Theorien aus meiner Feder.


Posted

in

by