Marktanteil von Linux 1%? Glaub ich nicht!

Juni 2nd, 2011

Seit einigen Wochen habe ich in meinem Online Shop Piwik mitlaufen, um etwas mehr über das Userverhalten zu lernen und eventuelle Probleme feststellen zu können. Die Seite ist nicht Linux spezifisch und meine eigenen Besuche werden nicht mitgezählt.

In den vergangenen Wochen habe ich mir die Daten mal in Ruhe angeschaut und ein paar (für mich) überraschende Feststellungen gemacht.

  1. Nicht ganz so überraschend: die Gecko Engine, also Firefox, macht 57% aus. Trident (IE) 26%, Webkit (Safari, Chrome) 13% und Presto (Opera) 4%
  2. Weit mehr überrascht hat mich, dass viele User (40%) noch die guten alten 4:3 Bildschirme haben. Am häufigsten findet man immer noch 1280×1024. 61% der Auflösungen teilen sich 1280×1024 (18%), 1024×768 (12%), 1280×800 (11%) und 1680×1050 (11%). Weitere 10% entfallen auf 1920×1200. Der Anteil an 16:9 Displays hält sich seltsamerweise in Grenzen.
  3. Ebenfalls überrascht hat mich die Vielzahl an Auflösungen. Insgesamt bisher 79 verschiedene, darunter so merkwürdige wie 1120×630 oder 1613×1008 Pixel.
  4. Am meisten überrascht hat mich jedoch die Anzahl an Linux Systemen. Wie zu erwarten dominieren WinXP mit 43% und Win7 mit 30%. Dann folgt aber schon Linux mit 14% vor Vista mit gerade einmal 6%. Mac OS, iOS, Android und ältere Windows Versionen (da ist sogar noch Win98 dabei) sind vernachlässigbar.

Dabei stelle ich mal wieder mir Erschrecken fest, wie viele Daten so ein Browser übermittelt. Natürlich kann ich nicht sagen, ob alle User auch mit echten Informationen unterwegs sind und ich kann auch nur diejenigen erfassen, die Javascript aktiviert haben. Aber ich denke, am Gesamtbild ändert das relativ wenig.

Was eher einen Einfluss auf die Zahlen hat könnten die verkauften Artikel sein. Ich verkaufe elektronische Bauteile und Mikrocontroller. Daher dürfte der überwiegende Anteil der Besucher eher Technik begeistert sein. Aber selbst da glaube ich, dass doch ein Großteil immer noch Windows verwendet, weil die Möglichkeiten in dem Bereich unter Linux doch noch recht eingeschränkt sind. Hätte ich einen Shop mit Baby Kleidung sähe es vermutlich nochmal ganz anders aus ;) . Trotzdem glaube ich auch da nicht an einen Marktanteil von “nur” 1%.

Disclaimer: alle ermittelten Daten dienen ausschließlich zur Verbesserung des Angebotes und werden nicht an Dritte weitergeleitet ;)

Unity Launcher oder Gnome Menü und Taskleiste?

Mai 5th, 2011

Ich nutze Unity schon eine ganze Weile und habe mich recht schnell an die Bedienung gewöhnt. Eigentlich fiel mir das nicht einmal sonderlich schwer und mit der Zeit habe ich immer neue Tricks und Kniffe gelernt. Darunter fallen auch die Tastenkürzel.

Mein besonderes Augenmerk gilt heute dem Launcher und dem Application Place. Denn hier merkt man am deutlichsten die Tendenz zur Tastaturbedienung, die Unity offensichtlich anstrebt. Es geht los mit dem Programmstart und Programmwechsel über die Tastenkombination Super+Zahl. Programme, deren Icons sich bereits im Launcher befinden, werden gestartet oder erhalten den Fokus. Dabei muss man nicht einmal unbedingt wissen, ob das Programm bereits läuft oder nicht. Sollte das Programm noch nicht laufen dauert der “Fensterwechsel” einfach etwas länger.

Ich habe die ersten sechs Icons auf allen Rechnern gleich belegt. Dadurch kann ich zwischen diesen Programmen blind umschalten. Der Launcher bräuchte dafür noch nicht einmal zu erscheinen. Lediglich für die Programme, die nicht im Launcher angepinnt sind, muss man etwas genauer hinschauen. Aber das sind seltener genutzte Programme, bei denen der zusätzliche Blick nicht ins Gewicht fällt.

Einziger Nachteil, den ich bisher feststellen konnte, ist die Gruppierung bei mehreren Programmfenstern in ein Icon, beispielweise bei dem Platinenlayout Program Eagle. Hier arbeitet man in der Regel immer mit drei offenen Fenstern, die im normalen Gnome Panel einzeln dargestellt würden. Unity gruppiert alle Fenster in ein Icon und um zwischen den Fenstern zu wechseln muss man zuerst das Icon für den Expose Mode und anschließend das Fenster anklicken.

Alternativ dazu könnte man natürlich die Fenster auf verschiedenen Desktops verteilen und mit Strg+Alt+Cursortasten umschalten oder die Tastenkombination Super+w verwenden.

In den vergangenen Tagen habe ich häufiger wieder mit Gnome 2 arbeiten müssen, da mein “Arbeitsrechner” noch nicht aktualisiert ist. Dabei ist mir aufgefallen, wie umständlich und uneffizient das Gnome Menü eigentlich ist. Einen Punkt hatte ich in einem älteren Beitrag schon beschrieben. Das Bewegen der Maus durch ein hierarchisches Menü mit mehreren Ebenen. Mir passiert es leider immer wieder, dass ich vor dem erreichen eines Untermenüs einen anderen Menüpunkt erwische und das Untermenü wieder einklappt bzw das ein anderer Menüpunkt erscheint. Das ist nicht nur beim Gnome Menü so sondern generell bei den üblichen hierarchischen Drop Down Menüs.

Das ist aber nicht alles. Man muss wissen, in welcher Kategorie sich das Programm befindet und man muss wissen, unter welchem Namen das Programm in dem Menü abgelegt ist. Und da gibt es meiner Meinung nach einige Probleme. Nehmen wir Evolution. Eigentlich ein Programm, das ich in der Kategorie Internet erwarten würde. Man findet es jedoch unter Büro. Auch andere Zuordnungen sind nicht immer ganz nachvollziehbar.

Das zweite Problem sind die Programmeinträge ansich. Mal steht da eine Programmbeschreibung, mal der Programmname. Beispielsweise findet man Gedit unter dem Eintrag Texteditor. Sagt man einem unerfahrenen User, er soll mal Gedit starten, sucht er wohl erstmal eine Weile. Andere Programme wie Geany werden dagegen unter ihrem Programmnamen angezeigt.

Hier kommt auch wieder Unity in’s Spiel. Mit Super+a öffnen sich die Anwendungen. Diese sind eingeteilt in “am häufigsten benutzt”, “installiert” und “Anwendungen zum Herunterladen”. Viele kritisieren die Unübersichtlichkeit, die vielen Klicks und die Platzverschwendung der unteren Reihe. Aus Sicht eines Mausschubsers, der seine Maus am liebsten mit beiden Händen schieben würde, ist das durchaus nachvollziehbar. Wer jedoch versucht, die Maßstäbe des alten Gnome Menüs auf Unity anzuwenden, macht etwas falsch.

Unity versucht, die Bedienung zu ändern. Weg von der Maus, hin zur Tastatur. Und genau das ist in meinen Augen gelungen. Sofern ich weiß, womit ich es zu tun habe, bin ich mit Unity schneller am Ziel als mit dem alten Gnome. Ich drücke Super+a und anschließend tasch + Enter, und schon startet der Taschenrechner. Ich muss nicht wissen, unter welchem Programmnamen der Taschenrechner abgelegt ist. Anders herum geht es aber auch. Ich drücke Super+a und ge + Enter und schon startet Gedit, ohne wissen zu müssen, unter welchem Namen der Editor eigentlich abgelegt ist.

Es spielt dabei keine Rolle, in welcher Kategorie das Programm abgelegt ist. Die Filterfunktion ist nur nötig, wenn man sich anders nicht mehr behelfen kann. Auch die angezeigten 5 Icons reichen in den meisten Fällen aus. Es ist also nur selten nötig, den Bereich  aufzuklappen. So reicht es zum Beispiel, wenn ich mail eingebe. Ich bekomme sowohl Evolution als auch Thunderbird angezeigt, egal ob die jetzt unter Büro oder Internet abgelegt sind.

Einem Anfänger könnte man also einfach sagen: “drücke Super+a und gib ein was du suchst”. Sucht er zum Beispiel nach mail findet er ein Mail Programm, sucht er nach video findet er sowohl einen Video Player als auch ein Programm zur Videobearbeitung. Sucht er nach büro findet er LibreOffice usw.

Und hier kommt auch die untere Zeile zum tragen. Findet man ein passendes Programm nicht bekommt man Vorschläge, was man verwenden kann.

Es funktioniert zwar noch nicht perfekt, aber das wird sicher noch besser. Sucht man beispielsweise nach gedit, bekommt man alternativ Leafpad angezeigt. Ich nehme an, weil Gedit in der Beschreibung auftaucht. Sucht man dagegen nach musik, bekommt man Banshee nicht zu Gesicht, obwohl das Wort “Musik” in der Beschreibung steht. Warum das so ist kann ich nicht sagen.

Insgesamt ist das Ganze, entgegen der häufigen Kritik, durchaus durchdacht. Wenn die Kinderkrankheiten kuriert sind kommt man meines Erachtens einfacher und schneller zum gewünschten Programm als mit dem Gnome Menü.

Es wird auch häufig kritisiert, dass Unity die Art und Weise vorschreibt, wie der User den Desktop zu benutzen hat. Das gleiche galt jedoch auch für die erste Version von Gnome 2. Damals bekam man vorgeschrieben, dass Gnome Menü zu verwenden. Alternative Menüs oder Starter wie GnomeDo oder Kupfer sind auch erst im Laufe der Zeit entstanden.

Sowohl Unity als auch die Gnome Shell wollen die Benutzung des Computers ändern. Das Konzept von Gnome 2 lebt in Xfce weiter. Wer also ein hierarchisches Menü vorzieht dürfte mittelfristig mit Xfce besser fahren. Es dürfte dagegen wenig Erfolgversprechend sein, aus Unity eine eierlegende Wollmilchsau zu machen, die die Wünsche aller User erfüllt

Unity oder nicht Unity? Das ist hier die Frage

April 25th, 2011

Es gibt teilweise hitzige Diskussionen über den neuen Desktop von Canonical. Teilweise kochen manche Gemüter über. Manche stellen nach ein paar Tagen oder Wochen fest, dass Unity gar nicht so schlimm ist, wie sie anfangs dachten. Soll man also Unity nutzen oder lieber etwas anderes suchen?

Schauen wir uns zunächst einmal das offensichtliche an. Unity ist neu, Unity ist radikal (aber IMHO lange nicht so radikal wie Gnome 3) und, besonders wichtig, Unity ist noch nicht fertig. Viele der Kritiken werden im Laufe der Zeit vermutlich nach und nach verpuffen, wenn Unity sich weiterentwickelt und der Funktionsumfang zunimmt. Auch Gnome 3.0 ist nicht gerade ein Musterbeispiel für bedingungslose Konfigurierbarkeit und KDE4.0 war nicht nur kaum zu konfigurieren sondern auch extrem instabil. Ich weiß, KDE4.0 war eigentlich eine Entwicklerversion, wurde aber trotzdem auf die User losgelassen.

Mit Unity ändert sich das Bedienkonzept von Ubuntu. Aber nicht grundlegend. Es gibt eigentlich nur drei wesentliche Änderungen.

  1. Starter und Taskleiste werden zusammengelegt und auf die linke Seite gesetzt
  2. Für das suchen und starten von Programmen und Dokumenten gibt es neue Dialoge
  3. Das Anwendungsmenü wandert an den oberen Bildschirmrand

zu 1.) das neue Startmenü ist für viele im ersten Moment ungewohnt, aber man kann sich schnell daran gewöhnen. Wer ein Dock nutzt oder Windows 7 oder OS X kennt wird gar nicht mal so viele Probleme haben. Es hat ein paar Vorteile gegenüber der klassischen Taskleiste, aber auch ein paar Nachteile. Manche sagen, mit den bereits vorhandenen Docks könne man das gleiche erreichen. Ich hab es mal ausprobiert, aber es ist nicht das gleiche. Es wirkt nie wie aus einem Guss und man hat nicht die Möglichkeit, das Menü über die Bildschirmecke zu öffnen, was ich gegenüber dem kompletten Bildschirmrand inzwischen bevorzuge.

zu 2.) auch die neuen Dialoge zum Starten von Programmen und suchen von Dateien sind ungewohnt und haben auch Vor- und Nachteile. Darauf komme ich gleich nochmal zurück.

zu 3.) Das sogenannte Application Menu, oft Global Menu genannt, ergibt vor allem auf kleinen Bildschirmen wie Netbooks einen Sinn. Man gewinnt dadurch wertvollen Platz. Auf einem Desktop ist es Geschmackssache. Wer den sogenannten Sloppy Focus nutzt (Fenster bekommen automatisch den Fokus, sobald der Mauszeiger über dem Fenster ist) hat mit dem Application Menu jedoch ein ernstes Problem. Aus diesem Grund hab ich das Application Menu auf meinem Desktop inzwischen auch deaktiviert.

Punkt 1. und 2. sind Geschmackssache und/oder Gewöhnungssache. Unity gibt es so vor und man muss abwägen, ob man damit mehr Vorteile oder mehr Nachteile hat. Wobei Punkt 1. eigentlich nicht wirklich neu ist. OS X und Windows 7 verwenden etwas ähnliches und Docks wie Docky oder Cairo Dock sind auch vergleichbar. Punkt 3. ist auch nicht neu, allerdings wurde es nur selten verwendet. Davon abgesehen ist es irrelevant, da man es ändern kann. Das einzig neue, was übrig bleibt, ist Punkt 2.

Auf einem Netbook ist Unity bisher alternativlos, um unsere Kanzlerin mal zu zitieren. Kein anderer Desktop schafft den Spagat zwischen Bedienkomfort und Platzgewinn besser. Bei allen Alternativen büßt man Platz ein oder gewisse Bedien- und Anzeigeelemente sind nicht oder nur über Umwege zu erreichen. Selbst auf einem Laptop mit 1366×768 Pixeln würde ich Unity aus diesem Grund vorziehen.

Auf einem Desktop spielt der Platzvorteil eine untergeordnete Rolle. Hier punkten bei mir inzwischen die Tastenkombinationen Super+a und Super+f (Super = Windows Taste). Ich starte Programme, die nicht im Launcher sind, fast ausschließlich über die Tastatur. Die hierarchischen Menüs von Gnome mögen zwar im ersten Moment übersichtlicher sein, aber ich habe bei dieser Art Menü immer wieder ein Problem (auch in allen anderen “Aufklappmenüs”): Wenn ich in ein Untermenü muss passiert es mir immer wieder, dass ich einen benachbarten Menüpunkt erwische, bevor der Mauszeiger das Untermenü erreicht hat. Dadurch verschwindet das Untermenü und ich muss “korrigieren”. So schön das Anwendungsmenü von Gnome 2 ist, aber der Punkt hat mich immer wieder gestört. Das ist aber wie gesagt kein spezielles Problem des Gnome Menüs sondern gilt für alle, die so aufgebaut sind.

Ich finde, Unity ist ein gutes Konzept, aber es hat noch ein paar Ecken und Kanten, an denen man noch feilen könnte. Das wird im Laufe der Zeit aber garantiert passieren. Von daher sollte man sich Kritik in der Form “Unity kann dies nicht und das nicht” lieber sparen. Keine Desktopumgebung hatte in der ersten Version an  allen Parametern Schräubchen, an denen man drehen konnte. Ich erinnere mich noch gut an die mageren Druckdialoge von Gnome 2 in Feisty Fawn. Wirklich wichtige Funktionen wie Duplex Druck gab es schlicht nicht. Von daher hab ich eigentlich kein Verständnis, wenn sich jemand über die fehlende Möglichkeit muckiert, irgend eine Farbe oder Icon Größe zu ändern. Gnome 2 war 2007 schon etwas älter als Unity und da fehlten viel schlimmere Sachen als ein paar Farbrädchen.

Mir ist klar, dass Unity nach wie vor auf Gnome 2 aufbaut, aber Gnome hat Gott sei Dank in vielen Bereichen nachgebessert. Es ist eine Sache, verhältnismäßig unwichtige Einstellungen wie für das Aussehen oder das Verhalten der Oberfläche weg zu lassen, aber es ist etwas völlig anderes, wichtige Funktionen wie den Duplex Druck nicht anzubieten. Ich war damals (zurecht) verärgert über Gnome, weil die einzige Alternative KDE gewesen wäre.

Unity oder nicht Unity? Ich sehe keinen Grund, der gegen Unity spricht, ausgenommen vielleicht Stabilitätsprobleme. Die sind bei mir inzwischen jedoch selten. Auf Intel Hardware geht die Fehlerquote inzwischen gegen null. Eventuell gibt es vereinzelt Probleme mit spezifischen Programme, die nicht zum Grundumfang von Ubuntu gehören und zum Beispiel mit dem Wegfall des Systray schlecht oder gar nicht zu benutzen sind.

Bleibt noch eine Frage: Unity als Standard in Natty? Ich sage ja. Unity ist in den meisten Fällen ausgereift genug für den normalen Einsatz. Außerdem hat Canonical nur so die Möglichkeit, Unity zu verbessern. Canonical brauch die Resonanz der User, sowohl in Fragen der Usability als auch bei der Stabilität auf spezieller Hardware. Canonical hat nicht die Ressourcen von Microsoft, großflächige Tests auf unterschiedlicher Hardware durchzuführen und kann nur Usability Tests mit kleinen Gruppen durchführen. Viele benutzen auch eher unbekanntere Programme, die von Canonical gar nicht alle getestet werden können, die aber unter Unity Probleme verursachen können. Ich erinnere nur an Alt+F2, dessen Fehlen erst durch einen Bug Report aufgefallen ist.

Wäre Unity nicht der Standard Desktop ging der größte Teil dieser “Testkapazität” verloren, da die wenigsten zufällig darüber stolpern würden. Und dafür, dass man ein kostenloses Betriebssystem bekommt, kann man diesen kleinen Beitrag denke ich durchaus leisten. Wer Probleme hat oder Unity parou nicht mag kann, zumindest in Natty, jederzeit zu Gnome wechseln. Viel schlimmer wäre es doch, wenn Unity erst mit dem Ozelot käme und es als Option nur noch Gnome 3 gäbe.

Wirklich unerfahrenen Neueinsteigern ist es denke ich egal. Die hätten auch mit Gnome 2, Gnome 3 oder KDE4 am Anfang ihre liebe Not, alles zu finden, was sie brauchen. Obwohl ich mich als nicht ganz unerfahren betrachte hatte ich mit dem KDE4 Menü am Anfang auch Startschwierigkeiten.

“Kleines” Einführungsvideo in Ubuntu Unity

April 21st, 2011

Ich habe mich mal hingesetzt und habe ein “kleines” Einführungsvideo für Ubuntu Unity erstellt. “Leider” ist es nicht klein geblieben sondern ist insgesamt 55 Minuten lang geworden.

Die Tonqualität ist mangels professionellen Equipment nicht so toll und ich bin auch nicht der große Erzähler. Deshalb ist es an manchen Stellen etwas langatmig geworden. Ich hoffe trotzdem, dass es informativ ist.

Aufgrund der Länge und Dateigröße habe ich mich entschlossen, dass Video nicht bei einem Video Portal hochzuladen sondern ihr könnt es euch aus meinem Ubuntu One Verzeichnis herunterladen. Die Dateigröße beträgt etwa 180MB.


Rechsklick für Download

  • Firefox 4 spielt das Video direkt ab. JavaScript muss aktiviert sein. Abspeichern kann man über Datei–>Seite speichern unter…
  • Chromium scheint es nicht direkt abzuspielen. Wenn man die Seite aufgerufen hat auf den Menubutton klicken und mit Seite speichern unter… die Datei abspeichern.

Ich wünsche euch viel Spaß und hoffe, damit einige Fragen beantworten zu können.

Vier Jahre Linux

April 9th, 2011

Vier Jahre ist es her (inzwischen sogar etwas mehr), dass ich konsequent auf Linux umgestiegen bin. Nach diversen Versuchen unter anderem mit Debian und KDE  (und vor langer, langer Zeit mit Suse 7 und Suse 9) kam bei mir der Durchbruch mit Feisty Fawn. Wer jetzt nachrechnet wird feststellen, dass Feisty vor vier Jahren zu dieser Zeit noch gar nicht draußen war. Das ist richtig. Ich bin mit der damals noch existierenden Alpha 5 eingestiegen. Jetzt wird mancher denken “au weh, Anfänger und Alpha”, aber es ging erstaunlich gut und mir war auch bewusst, worauf ich mich einlasse.

Seit dem hat sich vieles geändert, manches aber leider nicht. Ich erinnere mich zum Beispiel, dass in Feisty der Druckdialog von Gnome doch noch recht spartanisch war und viele Funktionen wie beidseitiger Druck oder mehrere Seiten auf eine noch nicht existierten. Beides Funktionen, die ich immer wieder brauchte. KDE bot diese Funktionen, weshalb ich mich damals ziemlich über Gnome und die minimalistischen Einstellungen geärgert habe. Glücklicherweise kam das mit Gutsy Gibbon.

Warum ich damals Ubuntu und nicht Debian verwendet habe ist einfach. Ubuntu machte nach der Installation einen runderen Eindruck und musste nach der Installation nicht noch aufwändig von Hand konfiguriert werden. So haben beispielsweise alle Multimedia Tasten ootb funktioniert. Auch Ubuntuusers hat eine wichtige Rolle gespielt. Das Wiki war (und ist) sehr hilfreich und die Community war (und ist) hilfsbereiter als andere Communities, die ich kenne.

Richtig angekommen bin ich bei Linux erst mit Gutsy Gibbon. Es hat rund ein halbes Jahr gedauert, bis ich mich in Linux so weit eingearbeitet und alte Windows Gewohnheiten abgelegt hatte. Bis dahin hab ich mich öfter mal geärgert und habe Linux doch das eine oder andere mal verflucht, wieso das denn so umständlich ist im Vergleich zu Windows. Inzwischen sehe ich das Ganze deutlich entspannter und gelegentlich frage ich mich, wieso Windows nicht so einfach sein kann wie Linux. Daher an dieser Stelle ein Appell an alle Ein- und Umsteiger: habt Geduld und nehmt euch Zeit. Nehmt Windows (oder OS X) nicht als Maßstab.

Wie ich bereits gesagt habe, es hat sich viel getan, sowohl bei Linux als auch bei mir. Es sind viele Funktionen hinzugekommen, die Benutzung wurde immer einfacher, die Installation immer leichter. Die unterstützte Hardware wird immer umfangreicher und besser unterstützt. Ich habe viel dazugelernt und kann im Fall eines Problems mir besser selbst helfen als das zu Windows Zeiten der Fall war. Wo es bei Windows noch hieß “neu installieren” kann ich mich bei Linux oftmals relativ schnell durch die Konsole beißen und das Problem ohne Neuinstallation lösen.

Es gibt aber auch nach wie vor zum Teil uralte Probleme. Zum Beispiel das “Würfelspiel” im Gnome Panel. Fügt man Schnellstarter zum Panel findet man sie nach einem Neustart an einem neuen Platz und wenn man mal die Auflösung des Desktops ändert werden so ziemlich alle Appletts auf der rechten Seite durcheinander gewürfelt. Das war unter Feisty schon so und ist bis heute unverändert.

Auch Flash ist nach wie vor ein Trauerspiel. Hohe CPU Leistung, ruckelnde Videos, abstürzende Browser. An Alternativen, sowohl für den Flash Player als auch für Flash insgesamt, mangelt es eigentlich nicht. Nur durchgesetzt hat sich noch nichts oder sind noch nicht fertig.

Auch bei den Grafiktreibern gibt es immer noch viel Verbesserungsbedarf. Recht zuverlässig sind eigentlich die Intel Treiber, dafür bieten sie nicht viel. Schlechte 3d Leistung, keine Hardwareunterstützung für Video Playback (oder nur eingeschränkt und mit viel Aufwand).

Bei Nvidia kommt man nach wie vor nicht am proprietären Treiber vorbei. Die Unterstützung (wenn man überhaupt von Unterstützung sprechen konnte) für den nv Treiber wurde komplett eingestellt und Nouveau hechelt hoffnungslos hinterher. Dafür bietet der proprietäre Treiber den besten Funktionsumfang und die beste Leistung, wenn denn mal alles funktioniert. Ich hatte, je nach angeschlossenem Monitor, unlösbare Probleme mit Tearing.

Die besten Erfahrungen hab ich bisher mit der HD4xxx Generation von AMD und dem freien Radeon Treiber gemacht. Stabiler Desktop, Videos werden ruckelfrei und ohne Tearing abgespielt, viele Spiele sind trotz der schwachen 3D Performance durchaus spielbar. Aber eben nicht alle. So hat mit Braid sogar ein 2D Spiel den Dienst verweigert. FGLRX ist leider auch keine Lösung. Entweder habe ich beim Abspielen von Videos Tearing oder die Videos ruckeln.Für normale Desktop Arbeit und zum Video schauen sollte man also eher den Radeon Treiber verwenden und auf FGLRX verzichten.

Etwas enttäuscht bin ich von meinem Samsung Netbook. WLAN nur mit proprietärem Treiber, Standby nur nach manueller Konfiguration und die Sondertasten und die Hintergrundbeleuchtung funktionieren nur mit speziellen Treibern, die leider nicht in der Standard Installation enthalten sind. Es gibt zwar ein PPA mit Treibern für Samsung Notebooks, aber für Natty wurde es noch nicht angepasst und unter Maverick funktioniert leider nicht alles.

Insgesamt ist mir bisher aber nur wenig Hardware über den Weg gelaufen, die nicht oder nur mit viel Aufwand funktioniert. Besonders bei den Webcams hat sich einiges getan. Von daher hoffe ich, dass Linux auch im Desktop Bereich an Bedeutung gewinnt und die Hersteller Treiber für ihre Hardware zur Verfügung stellen müssen.

Das gleiche gilt leider auch noch für die Software. Es gibt zwar schon sehr viel Software und ein Großteil muss den Vergleich mit entsprechenden Windows Programme nicht mehr scheuen, aber es gibt auch noch viele dunkle Flecken in der Software Landschaft von Linux. Insbesondere bei sehr spezieller Software, beispielsweise herstellerspezifische Entwicklungstools im Elektronikbereich, sieht es oft recht mau aus. So basiert das AVR Studio zur Entwicklung von Software für AVR Controller nicht mehr auf Eclipse sondern auf dem Visual Studio von Microsoft und hat bei mir bisher den Dienst unter Linux (wine) verweigert.

Auch über Ubuntu (oder über Canonical) hab ich mich schon geärgert. Zum Beispiel habe ich wegen Pulseaudio in Hardy Heron die meiste Zeit Xubuntu verwendet. Pulseaudio war zu diesem Zeitpunkt einfach noch nicht reif und gehört einfach nicht in eine LTS. Erst mit Intrepid bin ich wieder zurück zu Gnome.

Den aktuellen Weg von Canonical beobachte ich interessiert, aber kritisch. Aus der Sicht eines Selbstständigen kann ich die Schritte nachvollziehen und auch verstehen, aus der Sicht der Community kann ich jedoch auch einige Kritiken nachvollziehen. Insgesamt sehe ich bisher jedoch noch keine Nachteile, die mir durch die Nutzung von Ubuntu entstehen. Von daher werde ich bis auf weiteres bei Ubuntu bleiben.

Seit Oktober letzten Jahres nutze ich meinen Blog intensiv für Erfahrungsberichte, Anleitungen oder (aus meiner Sicht) interessante Nachrichten. Seit Anfang des Jahres bin ich Supporter bei Ubuntuusers und habe dort das Unity Forum übernommen. Auf diesem Weg versuche ich, zumindest einen kleinen Beitrag zur Community beizutragen, auch wenn das zur Zeit aus persönlichen Gründen etwas eingeschränkt ist.

Ich habe in den letzten vier Jahren viel über Linux und das drum herum gelernt. Viele Dinge sehe ich aus einem anderen Blickwinkel als früher. Die meisten Dinge kann ich mit Linux genauso gut erledigen wie unter Windows, manche sogar besser. Aber bis heute kann ich Linux in manchen Bereichen überhaupt nicht oder nur mit massiven Einschränkungen verwenden, was mich doch gelegentlich noch enttäuscht. Hier sehe ich aber eher die Hersteller in der Verantwortung. Die Linux Comunity kann nicht alle Versäumnisse der Industrie abfangen, selbst wenn sie es wollte.

Von daher bin ich auf die nächsten vier Jahre gespannt und hoffe, dass es weiterhin bergauf geht. Die Chancen stehen eigentlich gut. Immerhin ist Linux der mit Abstand am meisten verwendete Betriebssystemkern. Schließlich findet man Linux inzwischen überall, selbst da, wo man nicht damit rechnet. Eigentlich hat Linux längst die größte Verbreitung aller Betriebssysteme erreicht. Einzig der prestigeträchtige Desktop Markt, also das, was die Leute wahrnehmen, fehlt. Aber an Bug #1 wird intensiv gearbeitet ;)

Online TV Rekorder bong.tv im Test

März 21st, 2011

Vor einer Weile bin ich auf bong.tv gestoßen. Einer (von mehreren) Online Videorekordern. Ich dachte mir, probiere ihn einfach mal aus.

bong.tv lässt sich 7 Tage lang kostenlos nutzen. Also habe ich mich einmal registriert. Die Bedienung ist recht einfach. Man wählt einfach die Sendungen aus, die man aufzeichnen will. Auch Serien lassen sich einfach aufnehmen.

Speicherplatz

Standardmäßig bietet bong.tv 10GB Speicherplatz. Das klingt nach viel, aber leider werden alle aufgezeichneten Sendungen in zwei Formaten abgelegt. Zusätzlich gibt es einen Überhang am Anfang und Ende jeder Sendung. Dadurch sind die 10GB leider relativ schnell voll. Erschwerend kommt hinzu, dass Sendungen in der Warteschlange bereits Speicher belegen, auch wenn diese noch gar nicht aufgezeichnet wurde. Ist der Speicher voll, lassen sich keine neuen Sendungen hinzufügen, auch wenn diese erst in einigen Tagen laufen.

Qualität

Die Qualität der Aufzeichnungen ist gut. Die HD Qualität entspricht etwa DVD Qualität. Die Auflösung beträgt 720×576 Pixel und es wird der H.264 Codec verwendet. Ein Film kann inklusive Werbung und Überhang schnell 1,5GB und mehr haben. Wenn man nicht gerade Spielfilme aufzeichnet reicht meist auch die einfache Qualität.

Probleme

Leider ergaben sich im Laufe des Tests mehrere Probleme. Bei der Aufzeichnung von Serien fehlten bei mir trotz Überhang immer die ersten paar Minuten. Bei Spielfilmen habe ich das nicht beobachtet. Das liegt aber wohl daran, dass die Sender speziell Serien etwas vorziehen und nicht zur angegebenen Zeit be

Viel ärgerlicher war, dass ich in einigen Fällen erst gar nicht den Film erhalten haben, den ich eigentlich wollte. Einmal bekam ich statt eines amerikanischen Blockbusters einen Bollywood Film.Laut bong.tv soll das an einer Programmänderung des Senders liegen. Leider kann ich das nicht mehr nachvollziehen, da ich das entsprechende Programm nicht mehr habe. Seltsam ist nur, dass es in einer Woche gleich zwei oder drei mal vorgekommen ist.

Ein drittes schwerwiegendes Problem ist, dass ich bereits bei verschiedenen Filmen Fehler in der Codierung hatte. Der Film wird an der Stelle beim Abspielen einfach unterbrochen. Man kann ihn zwar anschließend weiter abspielen, aber der Fehler ist schon lästig. Laut bong.tv soll es an Schwankungen in der Empfangsqualität liegen. Ich wüsste allerdings nicht, was das mit Fehlern im Codec zu tun haben sollte.

Fazit

Ich hatte eigentlich schon überlegt, die 5€ im Monat zu investieren. Die genannten Probleme haben mich jedoch davon abgehalten. Ob es bei anderen Anbietern besser ist werde ich vielleicht irgendwann mal testen.

Das Schneiden der Filme nach der Aufnahme ist auch etwas lästig. Neben dem Überhang will man ja auch die Werbepausen los werden. Am besten geht das unter Linux mit avidemux, allerdings erst wirklich gut ab Version 2.6. Diese Version ist aber noch in der Entwicklung und es gibt nur Nightly Builds in Form von deb Paketen für 32 Bit Systeme. Etwas doof, wenn man ein 64 Bit Ubuntu installiert hat.

Ubuntu Unity bei 1024×600 – diesmal auf einem echten Netbook

März 12th, 2011

Im Dezember hatte ich bereits versucht, mir einen Eindruck darüber zu machen, wie gut Unity bei 1024×600 Pixeln wirkt. Da mein 13″ Belinea Notebook leider vorzeitig das Zeitliche gesegnet hat, musste ich mich nach einem Ersatz umschauen. Da ich nicht so viel Geld ausgeben wollte ist es ein Samsung N150-Eliah N450 Plus geworden. Geliefert wurde es mit Windows 7 Starter. Ich habe es mal kurze getestet und es ist… naja, Geschichte. Jedenfalls kann ich jetzt einen realen Test auf einem aktuellen Netbook machen und einen echten Eindruck gewinnen.

Also USB Stick mit dem aktuellen Snapshot von Natty Narwhal bespielt und installiert. Es gibt noch ein paar Problemchen, aber um die soll es hier mal nicht gehen. Das N150 hat eine Netbook typische Ausstattung. 1024×600 Pixel Display, Intel Atom N450 CPU mit 1GB Ram und den NM10 Chipsatz mit GMA3150 Grafikkern.

Die Startzeit beträgt von Grub bis zum Login ca 25 Sekunden, vom Login bis zum Desktop nochmal ca 11 Sekunden. Firefox braucht für den ersten Start knapp 10 Sekunden. Keine Spitzenwerte, aber auch nicht schlecht wenn man bedenkt, um welche Geräteklasse es sich handelt und kein Vergleich zu dem Kaffeepausengenerator, der vorher da drauf war..

Das Web in Unity

Das Web in Unity

Auf dem Netbook kann Unity seine Stärken auch richtig ausspielen. Dieser Screenshot zeigt den Unterschied zwischen einem normalen Gnome Desktop mit Panels (links), dem Gnome Desktop mit versteckten Panels (Mitte) und Unity (rechts). Bei einem normalen Gnome Desktop bleiben für eine Webseite 433 Pixel, in Unity hat man 512 Pixel. Das macht sich schon bemerkbar. Hinzu kommt, dass man immer noch alle wichtigen Elemente im Blickfeld hat, also Uhr, Batteriestatus usw. Das ist bei den verstecken Panels nicht der Fall.

Das Menü von Firefox habe ich mit Absicht anzeigen lassen, um den Effekt des Global Menu zu verdeutlichen. Bei den meisten aktuellen Browsern kann man das Menü zwar ausblenden oder es ist gar nicht mehr vorhanden, aber die meisten anderen Programme haben diese Möglichkeit nicht.

Durch das versteckte Startmenu hat man genug Breite, um die meisten Webseiten ohne horizontales Scrollen darstellen zu können. Bisher habe ich noch keine einzige Seite gehabt, bei der das der Fall war.

Das Bedienkonzept geht größtenteils auf. Lediglich das Aktivieren des Startmenus mit dem Touchpad ist etwas mühsam. Bis man den Mauszeiger in die linke obere Ecke und dann nach unten zur Anwendung befördert hat ist es ein ziemliches Gefummel.Mit einer externen Maus geht das flüssiger.

Umso angenehmer ist jedoch die Nutzung der Tastatur.. Über die <Super> Taste wird das Startmenu angezeigt und mit den Tasten 1 bis 0 lassen sich Anwendungen einfach starten bzw in den Vordergrund holen.

Insgesamt hat man den Eindruck, dass viel Wert auf die Bedienung mit der Tastatur gelegt wurde. Anwendungen lassen sich recht einfach über <Super>+a und die Eingabe des Programmnamens starten, vergleichbar mit GnomeDo. Bereits verwendete Dateien lassen sich auf ähnliche Weise mit <Super>+f öffnen. Aus diesen sogenannten Places heraus ist auch eine Suche im Internet möglich.

Firefox ohne Adressleiste

Firefox ohne Adressleiste

Ich bin sogar noch einen Schritt weiter gegangen und habe beim Firefox sowohl die Adressleiste als auch die Bookmarks ausgeblendet. So bleibt praktisch nur noch die Tableiste übrig. Über <Strg>+L lässt sich ein Eingabefeld aufrufen, in dem man die Adresse eintippen kann. Hier fehlt mir eigentlich nur eine automatische Vervollständigung wie bei Chromium. (Wenn jemand weiß wie das beim Firefox geht wäre ich um einen Hinweis in den Kommentaren dankbar)

Startmenü mit 32 Pixeln

Startmenü mit 32 Pixeln

Der Platz im Startmenu ist relativ schnell voll. Insgesamt passen bei der Standard Breite von 48 Pixeln nur 9 Icons in den Starter, ohne dass Icons eingeklappt werden müssen. Bei der Mindestbreite von 32 Pixeln sind es immerhin 13 Icons.

Die Indicator Menus im oberen Panel machen ebenfalls einen guten Eindruck. Aufgrund der geringen Breite des Bildschirms kann es jedoch passieren, dass besonders lange Menüs im Global Menu unter die Indicator Menus rutschen und nicht mehr benutzt werden können. Bisher ist mir das jedoch nur bei Geany aufgefallen. Bei allen anderen Programmen hat der Platz bisher ausgereicht.

Die Performanceprobleme, die Maverick auf Netbooks hatte, gehören der Vergangenheit an. Unity fühlt sich auf dem Netbook richtig flüssig an. Flash Videos bis 480p laufen flüssig. Höhere Auflösungen konnte ich mangels ausreichender Displayauflösung noch nicht testen. Zeitintensive Aufgaben kann Unity natürlich nicht beschleunigen.

Wie sich Unity auf einem älteren Netbook mit N270 Atom und altem Grafikkern verhält kann ich nicht beurteilen. Auf diesem Gerät sind mir bisher noch keine Probleme hinsichtlich der Performance aufgefallen. Zwischen Unity und dem mitgelieferten Windows 7 Starter liegen Welten. Sowohl was die Reaktionsgeschwindigkeit der Oberfläche angeht als auch die Benutzbarkeit der Programme. Bis unter Windows ein Programm gestartet ist wartet man deutlich länger. Auch den Platz sucht man vergeblich. Selbst wenn man sich mühsam mit versteckter Taskleiste und anderen Workarounds Platz geschaffen hat erzielt man kein vergleichbares Ergebnis.

Ein Problem, an dem auch Unity nichts ändern kann, sind viele, in der Größe fest definierte Dialoge. Diese ragen dann über den Bildschirm hinaus und man muss den Dialog entweder mit gedrückter <Alt> Taste verschieben oder man muss auf den benachbarten Desktop wechseln. Auch Programme wie Thunderbird nehmen mit dem ausladenden Userinterface viel Platz weg. Hier würde man sich für diese Geräteklasse schlankere Oberflächen wünschen.

Zusammengefasst muss ich sagen, dass Unity hier voll überzeugen kann. Es gibt zwar noch einige Mängel, die aber zum großen Teil dem Alpha Status von Natty Narwhal und dem noch sehr jungen Ayatana Projekte zuzuschreiben sind. Auf dem Netbook und auch auf meinem Laptop wird Unity auf jeden Fall seinen Platz finden. Wie es auf dem Desktop aussieht muss sich noch zeigen.

Firefox Addon: It’s all Text. Editieren im Text Editor [Update]

März 8th, 2011

Ich bin heute durch Zufall über ein nettes Firefox Addon gestolpert. It’s all text.

Mit diesem Addon ist es möglich, Texte aus einer Textbox in einem beliebigen Text Editor zu bearbeiten.

It's all Text in Aktion

In einer Textbox wird unten rechts ein kleiner Button angezeigt. Klickt man darauf, wird ein beim ersten mal eingestellter Texteditor geöffnet. In diesem Texteditor kann man dann einen beliebigen Text eingeben. Sobald man den Text speichert wird er in die Textbox übernommen.

Für einfache Beiträge in einem Forum mag das überflüssig sein, aber bei der Eingabe von Sourcecode oder dem Editieren eines Wiki kann das sehr hilfreich sein, da man alle Funktionen des Editors verwenden kann. Ich habe erst kürzlich beim Bearbeiten eines Wiki Beitrags einen Editor zu Hilfe nehmen müssen. Da hätte ich dieses Addon gut gebrauchen können.

Man kann auch Änderungen im Textedit Feld vornehmen. Ein weiterer Klick auf den Edit Button speichert die Änderung und der Editor kann die Ädernung nachladen. Das Übertragen funktioniert also in beiden Richtungen.

[UPDATE] Entgegen dem Hinweis in den Kommentaren speichert das Addon für jedes Textfield eine eigene Datei ab. In meinem Fall in .mozilla/firefox-4.0/txgaarbl.default/itsalltext

It's all Text speichert mehrere Dateien

It's all Text speichert mehrere Dateien

Die Dateien werden beim Schließen des Browsers gelöscht.

REAL Classic Desktop für Natty

Februar 25th, 2011

Neben Unity kann man bei Natty Narwhal ja auch den “Classic Desktop” auswählen. Aber ganz so “classic” ist der leider nicht, da das Hauptmenu ein anderes ist und die Anwendungsmenus immer noch im oberen Panel sind (Global Menus). Das lässt sich leicht ändern.

Zunächst klickt man mit rechts auf das Hauptmenu und wählt “Aus dem Panel entfernen”. Das gleiche macht man mit dem Global Menu. Wenn man das Global Menu entfernt landen die Anwendungsmenus automatisch in den Fenstern.

Anschließend klickt man mit rechts auf eine leere Stelle im Panel und wählt “Zum Panel hinzufügen”. In der Liste sucht man jetzt den Eintrag “Menüleiste” und klickt auf Hinzufügen.

Jetzt muss man eventuell noch das Menu an die richtige Stelle schieben und mit einem Rechtsklick und “Auf dem Panel sperren” verankern.

Man muss also keine Panik vor Natty haben und mit Fluchtgedanken spielen. Mit ein paar Klicks ist alles wieder beim alten… fast.

[Quelle] Meine Frage auf askubuntu.com

Ein erster Eindruck von CouchDB. Eine Datenbank für Programmierer

Februar 17th, 2011

Viele, die schon einmal eine Webseite programmiert haben, hatten sicher schon mit MySQL zu tun. MySQL ist eine sogenannte relationale Datenbank. In solchen Datenbanken werden Daten in Tabellen gespeichert. Das erste, was man als Programmierer tun muss, ist die Definition der Tabellen. Man muss entscheiden, welche Information in welche Spalte kommt und welche Informationen in eine getrennte Tabelle sollen. Den Vorgang nennt man Normalisierung. An dieser Normalisierung beißt man sich schon mal die Zähne aus. Macht man hier Fehler, ist es später häufig schwierig, neue Daten hinzuzufügen. Übertreibt man die Normalisierung, kann das zu komplexen Abfragen und schlechter Performance führen. Auch die Abfragen sind manchmal eine Wissenschaft für sich.

NoSQL

Seit einigen Jahren gibt es eine andere Art von Datenbanken, die sogenannten NoSQL Datenbanken. NoSQL ist eigentlich nicht der richtige Begriff. Gemeint sind Datenbanken, für die man keine SQL Anweisungen benötigt. Genau betrachtet wäre zum Beispiel XML auch NoSQL, da die gespeicherten Daten hier ebenfalls ohne SQL Befehle bearbeitet werden können. Aber das sind Spitzfindigkeiten. Was mit NoSQL eigentlich gemeint ist sind…

Dokumentorientierte Datenbanken

Bei einer dokumentorientierten Datenbank gibt es keine Tabellen. Ein Datensatz in einer dokumentorientierten Datenbank hat kein festes Schema, das bestimmt, welche Information an welcher Stelle steht. Es gibt auch keine richtige Normalisierung wie bei relationalen Datenbanken. Man versucht im Gegensatz dazu möglichst alle zusammengehörende Daten in einen Datensatz zu speichern.

Möchte man zum Beispiel ein Adressbuch erstellen, würde man bei einer relationalen Datenbank als erstes eine Tabelle erstellen, in der alle einzigartigen Daten untergebracht werden, zum Beispiel Vorname, Nachname, Geburtsdatum usw. Würde man in dieser Tabelle auch die Adresse speichern, könnte man für jeden Kontakt im Adressbuch nur eine Adresse anlegen. Also legt man eine zweite Tabelle an mit Feldern wie Straße, Postleitzahl und Ort. Außerdem benötigt man noch ein Feld, in dem ein Verweis auf den eigentlichen Kontakt gespeichert wird, damit man später die Informationen zusammenfügen kann.

Ein Kontakt benötigt aber nicht nur eine Adresse sondern auch andere Kontaktdaten wie eine Telefonnummer oder eine Email Adresse. Und hier geht es schon los. Wo und wie speichert man diese Daten ab? Einige erstellen eine eigene Tabelle, andere fügen der Adresstabelle einfach Felder für 1-2 Telefone, Fax und Email hinzu. Und was macht man mit weiteren Kontaktdaten wie IDs von Jabber, ICQ oder GoogleTalk? Auch an die Adresstabelle anhängen? Zusammen mit Telefon und Email in eine Tabelle? Eine eigene Tabelle? Gebt diese Aufgabe fünf Datenbankentwicklern und ihr bekommt fünf verschiedene Lösungen.

Eine dokumentorientierte Datenbank speichert sämtliche Kontaktdaten in einem Dokument. Das Dokument wird als Dictionary, also ein assoziatives Array, gespeichert. Ein assoziatives Array besteht aus einer Reihe von Schlüssel/Wert Paaren. Der Schlüssel gibt an, worum es sich bei dem Wert handelt. Im Fall der Adressdatenbank also zum Beispiel ‘Vorname’ oder ‘Geburtsdatum’.

Wenn ich vorher gesagt habe, dass es kein Schema gibt ist daher allerdings nur die halbe Wahrheit. Für das Dokument selbst sollte man sich schon ein halbwegs sinnvolles Schema einfallen lassen, damit man die Daten später auch wieder sinnvoll abrufen kann. Schemafrei bedeutet in erster Linie, dass die Datenbank kein festes Schema fordert. Vielmehr kann in jedem Datensatz einer Datenbank ein anderes Dokument abgespeichert werden.

Eine relationale Datenbank verwendet Tabellen. Jeder Spalte in dieser Tabelle wird eine bestimmte Funktion und ein bestimmter Datentyp zugeordnet. Eine Spalte soll den Vornamen speichern und kann daher Texte speichern. Eine andere Spalte soll das Geburtsdatum enthalten und hat deshalb meist den Typ “Date”.

Eine dokumentorientierte Datenbank kann man sich als lange Reihe von Zetteln vorstellen und auf jeden dieser Zettel kann man schreiben was man will. Auf dem ersten Zettel steht eine Adresse, auf dem zweiten eine weitere, auf dem dritten kann aber zum Beispiel ein Kochrezept stehen usw. Schemafrei kann aber auch bedeuten, dass man Felder weglassen oder hinzufügen kann. Hat eine Person keinen Zweitnamen muss das Feld nicht vorhanden sein. Möchte man einer Person einen Geburtsnamen hinzufügen tut man dies einfach. Der Datenbank ist das egal. Sie speichert, was man ihr zum speichern übergibt. Es ist lediglich Sache des Programms, diese Daten korrekt zu verarbeiten und anzuzeigen. Bei relationalen Datenbanken müsste man für jede Eventualität eine Spalte zur Verfügung stellen und hat unter Umständen jede Menge leere Felder. Oder man legt eine universelle Spalte an und versucht da zusätzliche Informationen abzulegen, was aber meistens unnötig umständlich ist.

Eine dokumentorientierte Datenbank ist jedoch auch kein Allheilmittel und will kein Ersatz für relationale Datenbanken sein. Vielmehr haben beide Arten ihre Stärken und Schwächen. Wenn man eine Anwendung erstellt sollte man also überlegen, welche der Datenbankarten sich besser eignet. Unter Umständen ist sogar eine Kombination als beiden sinnvoll.

CouchDB

Ich habe mir CouchDB als Vertreter der objektorientieren Datenbanken herausgepickt. CouchDB ist mittlerweile ein Projekt bei der Apache Foundation und hat den selben Status wie der Apache Server oder Tomcat. CouchDB ist in Erlang programmiert und verwendet JSON zur Speicherung von Dokumenten und für die Übergabe der Daten. Abfragen werde in JavaScript durchgeführt und die Kommunikation erfolgt, wie zwischen einen Browser und einem Webserver, über das HTTP Protokoll.

So, genug Buzzwords. Gehen wir etwas mehr ins Detail. Wie die Buzzword Parade schon zeigt verwendet CouchDB viele Web Technologien. Genauer gesagt ist CouchDB ein Webserver. Das kann man ganz leicht mit CURL testen. Da CURL nicht zur Standard Installation von Ubuntu gehört muss man es installieren.

sudo apt-get install curl

Auf die gleiche Weise wird auch CouchDB installiert. Man kann mit CURL anschließend testen, ob CouchDB richtig installiert ist.

curl http://127.0.0.1:5984
{"couchdb":"Welcome","version":"1.0.1"}

So sollte das Ergebnis bei Maverick Meerkat aussehen. Wie man sieht liefert CouchDB als Antwort ein Dictionary im JSON Format. Vor dem Doppelpunkt steht jeweils der Schlüssel, in diesem Fall “couchdb” und “version”, hinter dem Doppelpunkt steht der Wert. Dictionaries werden in geschweifte Klammern gefasst und die einzelnen Schlüssel/Wert Paare mit Kommas getrennt. Man kann die Adresse http://127.0.0.1:5984 auch in die Adresszeile des Browsers eingeben. Man erhält das gleiche Ergebnis.

curl -X GET http://127.0.0.1:5984/_all_dbs

Mit diesem Befehl kann man abfragen, welche Datenbanken auf einem Server vorhanden sind. Unter Ubuntu sollte das bei einer frischen Installation so aussehen.

["_users"]

Wie man sieht ein ganz normaler GET Request. Dadurch ist es mit CouchDB nicht nur möglich, einfach Daten zu speichern, sondern man kann mit CouchDB und etwas JavaScript komplette Webseiten hosten, ganz ohne Apache oder PHP. Das ist in CouchDB: The Definite Guide anhand eines Blogs beschrieben. Aber natürlich kann man CouchDB auch als normalen Datenbankserver mit Python, Ruby oder PHP nutzen.

Im Titel schrieb ich “Eine Datenbank für Programmierer”. Warum? Bei relationalen Datenbanken werden die Daten in der Structured Query Language, kurz SQL, bearbeitet. Das ist eine eigene Sprache mit einer für Programmierer eigenwilligen Syntax.

CouchDB geht einen anderen Weg. Für Abfragen werden sogenannte Views (zu deutsch etwa “Ansichten”) verwendet. Diese Views werden wie normale Dokumente in der Datenbank gespeichert und können auch so abgerufen werden. Diese Views werden nicht in einer eigenen Sprache programmiert sondern verwenden standardmäßig JavaScript. Es ist jedoch auch möglich, die Views in anderen Sprachen wie Python zu implementieren. Diese Views nutzen für die Datenbearbeitung Map und Reduce, zwei Funktionen, die vielen Programmierern bekannt sein dürften.

MapReduce, JavaScript, bzw wahlweise eine andere Sprache, und Dictionaries sind alles Dinge, die man als Programmierer meistens schon kennt. Es sollte daher für einen geübten Programmierer einfacher sein, mit CouchDB zu arbeiten als mit einer relationalen SQL Datenbank, selbst in Verbindung mit einem ORM.

Ein weiterer Vorteil von CouchDB ist die einfache Möglichkeit der Replikation. Replikation bedeutet das Kopieren von einer Datenbank in eine andere. Es ist dabei egal, ob die Datenbank auf dem gleichen Server liegt oder auf einem entfernten. Die Vorgehensweise bleibt gleich. So lassen sich einfach und schnell Backups erstellen oder Daten kontinuierlich zwischen mehreren Rechnern synchronisieren. So kann man entweder große Datenbankcluster aufbauen, um die Performance zu steigern oder mit immer identischen Daten auf verschiedenen Rechnern arbeiten.

Eine wesentliche Schwäche von CouchDB soll aber auch nicht verschwiegen werden. Es ist in CouchDB nicht möglich, eine Volltextsuche oder partielle Suchen wie SELECT * FROM narf WHERE pui LIKE “%zort%” durchzuführen. Dafür ist eine zusätzliche Software wie Lucene notwendig. Lucene wird in CouchDB eingebunden und indexiert alle Texte. Damit ist dann eine Volltextsuche oder partielle Selects möglich.

Abschließend sei noch erwähnt, dass Ubuntu One mit CouchDB arbeitet. Bei einer normalen Ubuntu Installation läuft bereits eine CouchDB Instanz, allerdings mit einer Erweiterung namens DesktopCouch. Darüber kann man zum Beispiel Firefox Bookmarks oder Adressen in Evolution auf mehreren Rechnern synchronisieren, was bis dato aber noch nicht einwandfrei funktioniert. Für Natty haben die Entwickler aber versprochen, dass es besser wird, was ich bei meinen Tests bisher auch bestätigen kann.


Switch to our mobile site