30

Angriff auf den Schreibtisch

schreibtisch
Schreibtisch (Ausschnitt)

YouTube, das vor kaum zwei Jahren gegründet wurde, sorgt mittlerweile angeblich für den meisten Internet-Traffic überhaupt. Und Twitter, mit Mühe und Not ein Jahr alt, noch im April der heiße Scheiß, ist inzwischen schon wieder out. Abgelöst vom (möglicherweise ebenso kurzlebigen) Pownce, das kaum 2 Monate alt ist.

Im Vergleich dazu geht die Entwicklung der Desktop-Programme im Schneckentempo voran. Schade eigentlich, hat man doch als Programmierer von „echten“ Desktop-Programmen weitaus mehr Möglichkeiten als so ein schnöseliger Webprogrammierer. Eine Vielzahl von Firmen hat sich vorgenommen, dies zu ändern – und ganz nebenbei vielleicht ein wenig an Microsoft Betriebssystem-Thron zu sägen.

Einer der Gründe, warum es im Netz so viel schneller geht als auf dem Desktop sind die Entwicklungswerkzeuge. Schon mit relativ rudimentären HTML- und JavaScript-Kenntnissen lassen sich in kurzer Zeit Programme schreiben, die ohne Probleme auf jedem System mit einem modernen Webbrowser laufen – ob Windows, Mac, Linux, Spielkonsole oder Handy spielt kaum noch eine Rolle. Wenn man dann noch ein wenig PHP, Python oder Ruby (on Rails) und etwas SQL beherrscht, steht dem eigenen Web-2.0-Startup nichts mehr im Weg, oder wenigstens dem Traum davon. Ganz anders auf dem Desktop: Nur weil ich weiß wie man einen Mac programmiert kann ich noch lange nicht für Linux entwickeln und für Windows erst recht nicht. Die Programmierung ist fehleranfällig und testintensiv und dauert darum unendlich viel länger. Was liegt also näher, als die Entwicklerwerkzeuge fürs Web auf den Desktop zu bringen?

Der erste mir bekannte Versuch in dieser Richtung ist Konfabulator. Ein Mac-Programm, mit dem man in XML, JavaScript, mit Photoshop und ein wenig Spucke Widgets, also funktional beschränkte Miniprogramme mit meist nur einem Fenster, basteln kann. Konfabulator gab es später auch für Windows und wurde dann von Yahoo aufgekauft. Das Programm wurde kostenlos und änderte seinen Namen in Yahoo Widget Engine. Beim ersten Start poppen ein Haufen Widgets für diverse Yahoo Dienste auf, die man erst mal wegklicken muß. Die Möglichkeiten sind leider sehr eingeschränkt: nicht mal das Abspielen von mp3-Dateien ist möglich, was meinem Versuch einen Podcast-Player zu schreiben ein recht abruptes Ende bereitete.

Mit Mac OS X Tiger führte Apple dann das Dashboard ein. Das Programm ist Konfabulator verdammt ähnlich, zu ähnlich wie viele fanden. Auch fürs Dashboard kann man kleine Widgets schreiben, sogar mit echtem HTML und CSS. Auch hat man weit mehr Möglichkeiten als bei Konfabulator: wenn die eingebauten Funktionen nicht reichen, kann man sie mit beliebigen weiteren Programmiersprachen erweitern. Leider jedoch gibt es das Dashboard nur für den Mac.

Wo Apple ist, kann Microsoft nicht weit sein. Mit Windows Vista führte der Riese die Windows Sidebar ein. Diese Programm sieht auf den ersten Blick genauso aus wie das Dashboard und Konfabulator. Und auch auf den zweiten, dritten, vierten und fünften. Mit der Entwicklung von Sidebar Gadgets habe ich mich nie weitergehend beschäftigt, ich tippe jedoch auf HTML, JavaScript und .Net. Wie der Name schon sagt gibt es die Windows Sidebar nur für Windows Vista.

Einen etwas anderen Ansatz wählte Google mit Google Gears. Google will den Webbrowser nicht verlassen, sondern möchte die schöne Web 2.0 Welt auch ohne bestehende Internet-Verbindung nutzbar machen. Mithilfe dieser Firefox Erweiterung wird es bald möglich sein, angepasste Anwendungen wie z.B. Google Calendar auch ohne Internetverbindung zu nutzen: alle offline getätigten Änderungen werden beim nächsten Internetzugriff mit dem Server synchronisiert. Auch die Mozilla Foundation arbeitet für Firefox 3 an einer solchen Offline-Lösung, möglicherweise mit Google zusammen.

Von all dem ganzen Bohei scheint man auch bei Sun langsam mal aufgewacht zu sein, wo man mit Java den Bereich der Internet-Desktop-Verschmelzung doch quasi erfunden hat. Und während Java auf so ziemlich jeder Plattform vom Handy und BlueRay-Disc-Player über den Webserver bis hin zur Multimillionen-Enterprise-Firmen-Dings-Applikation sehr erfolgreich ist, kommt der Desktop-Bereich seit Jahren (inzwischen fast Jahrzehnten) so richtig überhaupt nicht aus dem Knick (oder kennt jemand eine erfolgreiche Java-Desktop-Applikation außer Eclipse?). Einer der Gründe dürfte das Aussehen sein, denn mit Java Swing programmierte Applikation sehen allesamt ziemlich scheiße und überhaupt nicht Web und erst recht nicht zwo-punkt-null aus. Abhilfe schaffen will Sun mit JavaFX, einer recht schwammigen Ankündigung, in Zukunft alles irgendwie besser zu machen. Dabei hat Sun von Anfang an auch das Mobiltelefon im Visier — einen Bereich, der nun schon seit Jahren als die Plattform der Zukunft prophezeit wird und sich ganz langsam sogar dazu mausert.

Der Ansatz, der mir zur Zeit am besten gefällt, ist Adobe AIR. Hat Adobe durch den Kauf von Macromedia sowieso schon die beiden Trümpfe Flash und Flex im Ärmel, wird das Blatt nun mit AIR komplettiert. Dabei scheint Adobe aus den Fehlern der anderen gelernt zu haben und viele Dinge richtig zu machen: Zum einen bekommt der Benutzer für die unsichtbare Laufzeitumgebung ein recht schlankes, einfaches Installationsprogramm ohne überflüssigen Schnickschnack. Auf der anderen Seite werden die Entwickler geradezu umarmt, sowohl Flash-/ Flex- als auch HTML-/ JavaScript-Entwickler können sofort mit der Entwicklung anfangen und brauchen nicht umzulernen, mit Aptana steht eine hervorragende OpenSource Entwicklungsumgebung zur Verfügung (die sich übrigens alle Webentwickler mal anschauen sollten), und neben einer guten Dokumentation gibt es eine ordentliche Zahl an Blogs, Beispiel-Videos und Demo-Programmen. Angeblich arbeitet Adobe schon an einer Integration von Google Gears in AIR. Darüber hinaus fühlen sich die Programme eben wirklich an wie „richtige“ Programme, mit eigenem Icon und Platz im Start-Menü oder Dock. Und mal ein „echtes“ Programm zu schreiben, davon träumt jeder Webentwickler doch heimlich. AIR gibt es für Mac und Windows und vermutlich demnächst für Linux.

Da hätten wir also Yahoo, Apple, Microsoft, Google, Mozilla, Sun und Adobe. Wenn jetzt noch Amazon und Ebay mit in den Ring steigen, hätten wir ja eigentlich fast alle Großen. Der Kampf um den Desktop des Benutzers wird garantiert ziemlich spannend werden. Und lang. Und wir werden in den kommenden Jahren noch einen Berg von kurzlebigen Modeprogrammen kommen und gehen sehen.

30 Kommentare

  1. 01

    Kannste mich bitte endlich mal als Deinen Pownce-Freund bestätigen? Mann, mann, mann…

  2. 02

    Hab ich vorhin. Ich starte Pownce aber nur alle paar Tage mal.

  3. 03

    Und Happy Sysadmin Day!

  4. 04
    leo

    „(oder kennt jemand eine erfolgreiche Java-Desktop-Applikation außer Eclipse?)“
    Ist Limewire z.B. nicht auch in Java geschrieben…?

    Java ist ja nicht nur auf Swing beschränkt. Z.B. sieht SWT etwas moderner aus.

    Ich finde XUL ist zumindest auch eine Erwähnung wert.
    http://de.wikipedia.org/wiki/XML_User_Interface_Language
    QT fehlt auch in der Liste.
    Es wäre allerdings für Entwickler wirklich gut zu wissen, welche Technologien sich in 10 Jahren durchgesetzt haben werden, allein schon, weil Code, der für Technologien, die bald weg vom Fenster sind, ein paar Jahre später ja quasi unbenutzbar ist. Ich finde Java hat sich in der Hinsicht bislang ganz gut geschlagen.

  5. 05

    Der Bittorrent-Client meines Vertrauens, Azureus, läuft auch unter Java. Leider möchte man fast sagen. Bei längerem Betrieb, was ja zwangsläufig der Fall ist, frisst sich Java lustig durch die Speicherresourcen.

    Brauchbare Alternativen unter OS X, anyone? Danke :)

  6. 06

    Was Java angeht, so soll es ja auch ein GTK-Binding geben, was die Optik-Skeptiker überzeugen dürfte. Man sagt, die GUI macht 60% der Arbeit an einem Programm aus. Und wenn man sich mal anschaut, was gestandene Desktop-Anwendungen (man nehme eine Textverarbeitung seiner Wahl) leisten, dann ist klar, daß man das nicht mal kurz so nebenher hochziehen kann. Auch größere Websites wollen durchdacht werden und wer hier schlecht designt macht die Arbeit nochmal. YouTube mit Excel zu vergleichen ist schon krass – was kann YouTube schon?
    Java-Programme? Ich nutze JabRef regelmäßig.

  7. 07
    Harm

    oh, geil: nerdbloggen.
    Zumindest für die RoR-Entwicklung kann ich das Helau um Radrails/Aptana nicht nachvollziehen. Alles noch sehr alpha und ich finde irgendwie keinen Mehrwert gegenüber handelsüblicher Kommandozeilenbedienung. (Ok, „syntax highlighting“. gähn)

  8. 08

    Leo, es gibt einiges was da fehlt. Wobei XUL nun ja eher ein Beispiel fürs Scheitern ist: der Standalone XUL-Runner wird ja nun gerade nicht weiterentwickelt.

    DrNI, wer hat den YouTube mit Excel verglichen? :) Wobei ich den Vergleich nicht so unpassend finde: YouTube kann Videodaten aus praktisch allen Quellen konvertieren, hat eine erstaunlich gut skalierende Serverstruktur, läuft auf praktisch jedem Browser. Daneben noch die ganzen Kommentier-, Gruppen- und sonstewas-Funktionen.

    Excel dagegen ist ein Programm mit dem man wie schon zu Apple II Zeiten zahlen addieren kann. Klar, da gibt es tausende Zusatzfunktionen und ich will Excel nicht schlecht machen, aber zumindest gefühlt kann YouTube weitaus mehr.

  9. 09

    Harm: ich mag integrierte IDEs. :) Hab mit Aptana in den letzten Tagen ein wenig gearbeitet und schon allein eine funktionierende Autocompletition für HTML/CSS/JavaScript ist Gold wert.

  10. 10

    Dashboard und Konfabulator kenne ich nicht. Windows Sidebar aber. Und die ist so eine unglaubliche Scheiße, dass ich mir gar nicht vorstellen kann, die wäre irgendwie abgeguckt. ;)

  11. 11
    boo

    Wenn ich auf den Aptana Link klicke, stürzt Safari ab (1.3.2 ). Ich möchte alle Webentwickler bitten, sich das nicht näher anzuschauen ;)
    Ich bin ja gespannt auf lily. Ist aber web, nicht Desktop.

  12. 12
    gissi

    Wie wär’s mit KDE? Ab Version 4.0 (für Ende 2007 erwartet) sollen KDE-Anwendungen auf den drei Hauptplattformen laufen. Und zwar nicht nur laufen, sondern sich auch wirklich in den jeweiligen Desktop integrieren. Wie gesagt, sollen, ob es so sein wird muss sich erst noch zeigen. Aber falls der Port gut gelingen sollte wären das doch optimale Bedingungen: Ein breites Spektrum an Sprach-Bindings ermöglicht einen leichten Start für Ruby-/Perl-/Python-/Whatever-Programmierer und die GUI kann man sich einfach zusammenklicken (glaub‘ ich zumindest).

    Auch birgt KDE 4 mit Plasma einiges an Potential, wenngleich ich nicht weiß, ob sich die Plasma-Desktop-Applets auch schon auf anderen Desktops einsetzen lassen.

    Ich hoffe jedenfalls, dass KDE sich mit dem Erscheinen von Version 4.0 auch über die Linux-/BSD-Welt hinaus verbreitet und dadurch die Software-Welt um einige gute, freie Software bereichert.

  13. 13

    Super Artikel, alle wichtigen Dinge wurde erwähnt. Ich denk auch, dass es mehr in diese Richtung gehen wird.

  14. 14

    Twitter ist out? Twitter, das immer noch fröhlich weiterwächst und eben ein paar Millionen Venturekapital bekommen hat? Nur weil der deutsche Metahype um den Hype um Twitter out ist, betrifft das noch nicht Selbiges.

  15. 15
    Harm

    Marcel: Dem Metahype um den Hype nachzurennen macht aber mehr Spass :-)
    Will meinen: Anstatt sich darüber zu langweilen/echauffieren dass meinetwegen Politiker XY keinen Browser kennt und die Maschinenstürmer-Journalisten ja eh mit dem bösen Internet, etc., beschäftige ich mich lieber mit dem Webnetz 2.0.4-rc-1 (Codename „Shiva“)

  16. 16

    Bei mir hat sich Aptana auch nicht als ersatz zu den bestehenden Tools etablieren können. Trotz guter Features und noch besseren Vorsetzen diese IDE genauer unter die Lupe zu nehmen endet es schnell mit einem klick auf das X.

    @boo danke für den Link zu lily.

  17. 17

    Und mal ein „žechtes“ Programm zu schreiben, davon träumt jeder Webentwickler doch heimlich.

    Verdammt, er hat mich..

  18. 18

    Und mal ein „žechtes“ Programm zu schreiben, davon träumt jeder Webentwickler doch heimlich.

    Verdammt, er hat mich..

    Nun ja. Nicht jeder Webentwickler installiert ein bißchen WordPress und fuhrwerkt ein bisserl in den Templates rum. Wer mal bei einem grösseren eCommerce Projekt mit Prozessen rein ins ERP dabei war, weiss das..

    Wobei ich zugeben muss – nach Jahren der Webentwicklung würde ich gerne mal was Hardwarenahes programmieren.. So ne Steuerung für irgendein Dings, das dann blinkt und wild tut ;-)

  19. 19

    oder kennt jemand eine erfolgreiche Java-Desktop-Applikation außer Eclipse?

    Eclipse ist ja ein hervorragendes Framework um tolle Richclient Apps für den Desktop zu entwickeln.

  20. 20

    Soweit ich weiß, ist der Standalone-XULRunner mitnichten tot, nur die GRE-Pläne, d.h., Firefox und Thunderbird auf Basis von XULRunner auszuliefern, sind erstmal verschoben worden.

    Es gab da einen mißverständlichen Artikel von Mitch Baker. Benjamin Smedberg hat kurz darauf die Pläne noch einmal genauer erklärt.

    Allerdings habe ich selbst nichts mit XUL zu tun und das ganze nur am Rande verfolgt. Weißt Du da mehr?

  21. 21

    und dann war da noch silverlight bzw. WPF/E von mircosoft – ob die jemals fertig werden damit?

    außerdem – das thema ist titel der aktuellen ct: Das Web als PC

  22. 22

    dirk, dass mit der c’t hat mir auch ein Freund gesagt. Un ich habe die c’t auch hier, aber noch nicht gelesen. Mal sehen, was die so schreiben. :)

  23. 23
    martin

    das Foto würde sehr gut in Stefan Niggemeiers Sammlung Super-Symbolfotos passen *g* Ansonsten netter Artikel. Ich gebe aber zu bedenken das solche Konzepte seit über 10 Jahren immer wieder angekündigt werden. Bisher blieben Sie aber eher eine Randerscheinung. Denn die meisten inklusive mir sind lieber Herr ihrer Daten, anstatt Google und Co noch mehr Informationen in den Rachen zu werfen.

  24. 24
    Paul

    @Andreas: Torrent-Client für OS X, schnell, schlank (Einzelfiles in Torrent, in Arbeit, s. Nightlies): Transmission.

    http://transmission.m0k.org/

  25. 25

    Im wissehnschaftlichen Bereich gibt’s jede Menge Desktop-Apps, die in Java programmiert sind – da müssen sie eben nicht so todschick und Webzwonullig aussehen.
    Und Silverlight – gehört auf jeden Fall auch hierher.

  26. 26

    Silverlight? Findest du? Ich habe mich mit Silverlight noch nicht ausführlich beschäftigt, kann darin bisher aber nicht viel mehr als einen Flash-Konkurrenten erkennen.

  27. 27

    Jahaa – eben. Flash würde im Grunde auch hierher gehören, finde ich – einige der Online-Applikationsanbieter arbeiten ja immerhin mit Flash. Ich kann zu Silverlight auch nicht mehr sagen als das, was ich in der c’t gelesen habe, aber es lässt sich eben auch mit u.a. Javascript programmieren und läuft (?) auf allen Plattformen.

  28. 28

    Ich weiss nicht. Ich hab nichts gegen Flash (also, nicht mehr als jeder andere auch, der schon mal gezwungen war mit diesem Programm zu arbeiten), aber nacktes Flash taugt ja zu nicht mehr als es in online-HTML Seiten einzubauen. Ich wollte ja gerade beleuchten, das es eine Bewegung weggibt von Browser hin zum Desktop.

    @martin: Klar, niemand sagt dass diese Versuche tatsächlich gelingen. Das mit dem „die meisten sind lieber Herr ihrer Daten“ glaube ich so nicht, dafür sind die ganzen Webmaildienste viel zu erfolgreich. Außerdem muss man ja mit AIR & Co. keine Datensammelnden Onlinekraken bauen, man kann ja damit viel mehr machen – eben auch die Daten lokal speichern.

  29. 29
    nero

    OpenLaszlo ist auch nicht zu verachten! ( http://www.openlaszlo.org/ )

    + Open Source
    + Seit Version 4 wahlweise Flash und DHTML Output

    Das Interface wird normalerweise dynamisch vom OpenLaszlo Server aus dem XML baserten LZX-Sourcecode erzeugt, aber man kann damit auch eine eigenständige Schreibtisch-Anwendungen generieren…
    ( http://www.openlaszlo.org/tips/2005/solo/ )

  30. 30
    oha

    Also grundsätzlich greifen alle diese Programme mit Ausnahme der Vista Sidebar und Yahoo auf die Techniken der Browser zurück und die können schon ziemlich viel. So basieren Adobe AIR und Apple Dashboard auf WebKit (KHTML) und lässt sich mit allen möglichen Programmier- bzw. Script -Sprachen programmieren. Im übrigen gibts auch für Opera Widgets ich erwähne dies hier nur weil ich den selber einsetze (mit ein paar Widgets). Unnütz finde ich diese Technologie im übrigen nicht sondern sehr hilfreich. Schließlich findet immer mehr im Netz statt und damit über dem Web-Browser.Zum Abschluß möchte ich noch anmerken das niemand auf die x-te Desktopumgebung wartet
    ich wünsche „eine für alle(s)“.