Kommt ein FairPhone geflogen

März 3, 2014 um 12:00 nachmittags | Veröffentlicht in China, GNU/Linux, Multimedia, Ubuntuusers | 4 Kommentare

Seit inzwischen 5 Wochen bin ich im Besitz eines FairPhones aus der ersten Auflage. Was ist ein FairPhone? Ein faires Telefon. Ein Telefon, in dessen Erzeugung keine Arbeiter ausgebeutet, in welchem nur Rohstoffe aus konfliktfreien Regionen verwendet und bei welchem der komplette Lebenszyklus bedacht wurde. Die Verantwortung hört nicht beim Nutzer auf, sondern erstreckt sich bis hin zur Entsorgung des ausgedienten Geräts. Und weil der Lebenszyklus besonders lang sein sollte um nicht bald wieder mehr Müll zu produzieren wurde das FairPhone als SmartPhone konzipiert, welches mit heutigen High-End Geräten auf Augenhöhe stehen und sehr robust sein soll. Das Gerät selbst hat € 325,- gekostet, womit aber wesentlich mehr als nur das Telefon abgedeckt ist.

FairPhone Front small

Das FairPhone mit gesperrtem Bildschirm.

Die Philosophie

Das “Fair” in FairPhone ist vergleichbar mit “fair” gehandelten Nahrungsmitteln, welche inzwischen in jedem Supermarkt zu finden sind. Bei den Nahrungsmitteln sollen die Bauern einen gerechten Lohn für ihre Arbeit erhalten und selbst entscheiden können, was sie anbauen. Beim FairPhone sollen die Minenarbeiter, welche die Erze schürfen, wie auch die Fließbandarbeiter, welche das Telefon zusammenbauen, gerecht entlohnt werden und unter sicheren Umständen arbeiten können. Oft genug kommt es zum Beispiel vor, dass Minenarbeiter verschüttet werden, weil die Betreiber nicht auf ein Mindestmaß an Sicherheit geachtet hat. Und am Fließband atmen viel Arbeiter giftige Dämpfe ein, die ihre Gesundheit nachhaltig schädigen.

Ebendiese Probleme sollen bei der Produktion des FairPhones vermieden werden. Dazu hat das Projekt Verbindung mit lokalen Gruppen aufgenommen, welche sich für ein faires Vorgehen einsetzen. Außerdem wird jede Produktionsstätte von einem Mitglied des Projektes betreut. In den Minen wird auf die Einhaltung von Sicherheitsstandards geachtet. In der Produktionsfirma in China, in der das Gerät zusammengebaut wird, gibt es eine Selbstverpflichtung der Leitung auf würdige Arbeitsbedingungen. Von einem Teil des Kaufpreises des FairPhones wurde hier für die Arbeiter ein Fond eingerichtet, über dessen Nutzung die Arbeiter gemeinsam entscheiden können.

Mit im Preis enthalten ist ein Beitrag für die zukünftige Entsorgung des Telefons. Da auch das FairPhone nicht ewig leben wird, ist es nur konsequent sich Gedanken darüber zu machen, was eigentlich mit Geräten am Ende ihrer Lebenszeit passiert und ob und wie Rohstoffe zurückgewonnen werden können. Auch hier erleiden heute Arbeiter Langzeitgesundheitsschäden. Und auch hier möchte das FairPhone faire Wege gehen.

FairPhone Back small

Die Rückseite des FairPhones.

Technische Spezifikationen

Thema Robust. Dazu zählt ein Display aus Dragontrail Glass. Das Telefon ist mir bis jetzt 3 Mal heruntergefallen. Das erste Mal aus ca. 1/2 m Höhe auf einen Holzfußboden. Die anderen beiden Male aus ca. 1 m Höhe auf einen Fließenboden. Das Telefon zeigt keine merkbare Beeinträchtigung und das Glas hat keinen Kratzer, geschweige denn einen Splitter. Brutal hört es sich trotzdem an, da sich bei einem Sturz die rückwertige Aluminiumplatte löst und auf Fließen so klingt wie springendes Glas.

Eine Quad-Core CPU (Mediatek 6589M chipset) mit je 1,2 GHz liefert genug Rechenkraft für die nächsten Jahre.

Das 4:3 Display hat eine Auflösung von 960×540 bei Gesamtausmaßen von 126×63 cm. Die Dicke des FairPhones ist etwa 1 cm.

Eine Fotokamera mit 8 Megapixel sorgt für schöne Bilder, eine 1,3 Megapixel Kamera kann für Videoanrufe verwendet werden. Die Fotokamera verfügt über einen Blitz.

Enthalten ist eine tauschbare Standardbatterie mit 2000 mAh. Mit dieser hält das FairPhone bis zu einer Woche durch.

Verbinden kann sich das Telefon per WLAN (802.11 b/g/n), Bluetooth, 2G und 3G. LTE und NFC haben es in die erste Edition nicht geschafft.

Es verfügt über 2 SIM-Slots und die Möglichkeit den Internen Speicher (16 GB) mit bis zu 64 GB per microSD zu erweitern.

Geladen wird das Gerät mit dem inzwischen vereinheitlichten MicroUSB 2.0 Type B, welcher bei allen modernen Geräten zum Einsatz kommt. Ein solches Kabel ist, im Sinne der Müllvermeidung, aber nicht mit dem Telefon verpackt. Es kann bei Bestellung aber dazugenommen werden.

Als Betriebssystem kommt Android 4.2.2 zum Einsatz, die Produzenten versprechen aber Updates auf höhere Versionen über den inkludierten FairPhone Updater.

Das von der Firma Kwame erstellte Custom Interface des FairPhones bedient sich bekannter Bedienkonzepte und fügt noch ein Quickmenü dazu, welches per Sideswipe vom Rand weg aktiviert werden kann. Hier können bis zu 4 häufig verwendete Apps untergebracht werden.

FairPhone Back Open small

Das Innere des FairPhones.

Mein Eindruck

Vielleicht kann man es bereits aus dem vorangegangenen Text herauslesen: ich bin mit meinem FairPhone sehr zufrieden. Es ist ein stabiles, leistungsstarkes und leicht zu verwendendes Gerät, dass seine Aufgaben gut erfüllt. In den Medien habe ich von instabiler Software und Problemen mit der Kamera gelesen. Diese kann ich zum Glück nicht vermelden. Mit einer kleinen Ausnahme habe ich nichts auszusetzen.

Das FairPhone lässt sich zu leicht einschalten. Wenn es bei mir in der Hosentasche liegt scheint der Power-Knopf an der oberen Seite leicht vom Stoff eingedrückt zu werden. Die Entsperrung des Displays scheint dann vom Oberschenkel vorgenommen zu werden. Dadurch kann es sein, dass mehrere Programme gestartet, Einstellungen verändert oder Anrufe getätigt werden, ohne dass man es mitbekommt. Dieses Problem lässt sich aber recht einfach lösen. Ich habe einfach statt des einfachen Entsperrens per Swipe eine Mustersperre eingestellt, bei der ich nun ein komplexes Muster ziehen muss um das Telefon nutzen zu können. Da ich hier beliebig viele Versuche habe, kann mein Oberschenkel machen was er will.

Die Philosophie hinter dem FairPhone war es, was mich ursprünglich dazu bewogen hat die Crowdfunding Kampagne des Projektes zu unterstützen. Das entstandene Produkt ist seinen Preis wert und ich hoffe, dass das FairPhone noch weitere Auflagen erhält. Man kann nur hoffen, dass dieses Projekt langfristig zu einem Umdenken in der Gesellschaft und damit im Vertriebsweg führt.

Wer Interesse hat, der kann sich auf fairphone.com als Interessent für die 2. Auflage eintragen lassen.

=-=-=-=-=
Powered by Blogilo

Audible Audio – DRM at its finest

Februar 24, 2014 um 10:00 vormittags | Veröffentlicht in DRM, Multimedia, Ubuntuusers | 9 Kommentare

Mein Vater ist ein Fan der Serie “Perry Rhodan”, einer inzwischen über 50 Jahre laufenden Romanreihe. Sie handelt vom fiktiven Ex-NASA-Piloten Perry Rhodan, der mit Hilfe von Außerirdischen die Erde eint und viele Jahrtausende lang Abenteuer im bekannten Universum und darüber hinaus erlebt. Die sogenannten Silber-Bände sind je eine Zusammenfassung mehrer Hefte und bilden eine Sammler-Edition der Reihe. Diese Silber-Bände wurden großteils vertont und sind als Hörbücher erhältlich. Mein Vater fand nun mehrere dieser Hörbücher bei Audible.de, dem Audiobook-Portal von Amazon. Da ich ihm nicht garantieren konnte, dass ich ihm die von dort heruntergeladenen Dateien nach seinem Wunsch als Audio-CD zur Verfügung stellen könnte, habe ich ihm davon abgeraten sich die Hörbücher über diese Plattform zu besorgen. Eine Weise Entscheidung, wie sich herausstellen sollte.

Ich habe schon mehrfach von Audible.com gehört (z.B. als Sponsor von MinutePhysics, einer YouTube-Reihe, die wissenschaftliche Themen auf anschauliche Art und Weise zu erklären versucht). Da ich persönlich CDs bevorzuge, habe ich aber nie in Erwägung gezogen tatsächlich bei Audible zu kaufen. Durch die Frage meines Vaters begann ich mich jedoch dafür zu interessieren, in welchem Format denn die Hörbücher von Audible daherkommen.

An eine Datei herankommen

An ein Hörbuch von Audible kommt man, indem man ein Amazon-Konto erzeugt und ein Hörbuch kauft. Alternativ kann man auch eine Aktion, wie am Ende der meisten MinutePhysics-Folgen beschrieben, nutzen und sich ein gratis Audiobook herunterladen. (!!Vorsicht: das erste Monat ist gratis, ab dann wird automatisch eine Gebühr von fast € 15,- im Monat fällig. Man muss selbst rechtzeitig stornieren!! Ich bin nicht dafür verantwortlich, wenn du plötzlich etwas bezahlen musst!) Ich entschied mich für “Breakfast at Tiffanys” von Truman Capote. Mit der Absicht den Account gleich nach dem Download wieder zu stornieren legte ich das Hörspiel in den Warenkorb und klickte mich durch den Amazon-typischen Bezahlprozess. Ich setzte meinen einzigen Credit ein und gelangte schließlich zur Download-Seite … äh wie? Wo ist mein Download-Link? Hallo! Hört mich wer? Wo ist mein Link?

Nach Abschluss des Kaufes wird einem nicht angeboten, dass man die Datei sofort herunterladen könne. Stattdessen wird einem eine Liste von kompatiblen Geräten vorgeschlagen, auf welchen man doch bitte die Audible-App installieren sollte um in den Genuss des Hörbuchs zu kommen.

Your level has risen to 2. You have earned a new skill. You can now be Rick-Rolled by Audible.

Ok, wieder zurück zum Ernst des digitalen Lebens. Audible forciert an allen Ecken und Enden einen strengen Kopierschutz. Deswegen sehen sie es am Liebsten, wenn ihre Dateien nur mit von ihnen zertifizierter Software abgespielt werden. Möchte man doch die eigentliche Datei erhalten, so muss man unter dem Punkt “Library -> My Books” aus der Liste der gekauften Hörbücher das gewünschte auswählen und ganz rechts auf “Download” klicken. Hier erhält man nun eine Datei mit der Endung *.aa.

Nach dem erfolgreich abgeschlossenen Download wollte ich den Account wieder löschen, da ich weder Interesse an den angebotenen Diensten hatte, noch willens war knappe € 15,-/mtl an Grundgebühr zu berappen. Hier begann eine neue Herausforderung … Wie beende ich meine Mitgliedschaft? Spätestens seit Facebook sollte uns allen bewusst sein, wie schwierig die Anbieter es zeitweise machen aus ihren kommerziellen Spinnennetzen zu entkommen. Im Nutzermenü unter “Account Details” findet sich ein Punkt zu “Membership Details”. Nach all den Fancy CSS-Blasen der aktuellen Membership-Angebote findet sich ein übersehbarer fader HTML-Link mit der Aufschrift “Cancel Membership”.

Nach einem Klick auf diesen landet man, wie zu erwarten, auf einer Seite, auf der man seinen Ausstieg nochmal bestätigen soll. Umrahmt ist das mit Angeboten, die das Verbleiben doch noch schmackhaft machen sollen. Wie erwähnt: Vorhersehbar. Klick man nun auf “Confirm Cancellation” landet man … auf einer mit Angeboten vollgestopften Seite, auf der man schon wieder seinen Ausstieg bestätigen soll. Nach einem Klick auf “Continue Cancellation” landet man … und so weiter. Insgesamt 4 mal muss man bestätigen, dass man der Mitgliedschaft den Rücken kehren will. Und jedes Mal sollen einen Batterien von Angeboten davon überzeugen doch zu bleiben. Am Schluss wollen sie einen nicht gehen lassen, bevor man ihnen einen Grund genannt hat. Liebes Audible-Management, diese Drangsalierung macht euch nicht sympathischer.

Your level has risen to 3. You have earned a new skill. You can now be handcuffed and whipped into submission by Audible.

Was ist das Audible Audio Format nun eigentlich?

Auf der deutschen Audible-Seite wird das eigene Format, vorhersehbar, mit lauter Vorteilen für den Nutzer zu erklären versucht. Spaß, Hörkomfort und die Fähigkeit Lesezeichen zu setzen sind die Hauptargumente. Und … ach ja:

Es gibt noch einen weiteren Grund: die Größe und Vielfalt unseres Angebots. Wir möchten Ihnen natürlich möglichst die ganze Welt der Hörbücher und der gesprochenen Inhalte anbieten.
Da unser Format einen eingebauten Kopierschutz hat, vertrauen uns die Verlage und Autoren so viele Hörbücher an, die es woanders nicht zu kaufen gibt. Deshalb finden Sie bei uns ein so reichhaltiges Sortiment an Hörbüchern.

Ja, ein reichhaltiges, DRM-verseuchtes Sortiment, das ich aus genau diesem Grund nicht haben will. Das Audible-Format wird als eine Alternative zu MP3 beschrieben. Tatsächlich handelt es sich nur um ein Containerformat, welches seine Payload per Verschlüsselung vor dem direkten Zugriff des Nutzers “schützt”. In manchen Fällen kommt für das Audio-Format der Payload sogar MP3 zum Einsatz. Ein Containerformat selbst bietet keine verwertbaren Daten. Es ist vergleichbar mit einer ZIP-Datei, aus welcher man per geeigneter Software die tatsächlichen Daten extrahieren kann.

Auf about.com findet sich eine kurze Übersicht über die Eigenschaften des *.aa-Formates.

Hier beginnt die erste wirkliche Herausforderung, wenn man eine *.aa-Datei auf einem Linux-Gerät abspielen möchte: Es gibt keine geeignete Software. Audible hat sich bis lang erfolgreich gegen die Öffnung seiner Plattform für freie Betriebssysteme gestellt. libav (ein Fork von ffmpeg) kennt das Format schonmal nicht. Damit ist die bislang zuverlässigste Medien-Library aus dem Spiel. Ein kurzes apt-cache search audible liefert keine verwertbaren Ergebnisse. Es scheint so, als müsse man mittels Wine ein Windows-Programm ausführen, welches das Format beherrscht und in ein anderes Format übersetzt. Die Anzahl der Geräte, auf denen eine konkrete *.aa-Datei abgespielt werden kann ist stark begrenzt. Die Anzahl der Audio-CDs, die man damit brennen kann liegt sowieso nur bei 1.

Fazit

Das Audible Audio Format ist entbehrlich. Das Einzige, was dem Format noch fehlt ist ein Always-On Zwang. Amazon hat offensichtlich verschlafen, dass DRM für Audio nach einer langgezogenen Blamage der Musikindustrie heute keinen Platz mehr hat. Tatsächlich gehört Audible zu den letzten Musik-Anbietern, die ihre Ware mit DRM verseuchen und damit ihren ehrlichen Kunden das Leben erschweren, während Menschen, die sich nicht um Entlohnung kümmern, einen Weg finden das DRM komplett zu entfernen um digitale Inhalte auch ohne Bezahlung zu genießen. Wie immer bei DRM fühlen sich die Manager sicherer vor den “bösen Piraten”, sind die ehrlichen Kunden die Verlierer und merken die “bösen Piraten” nichts von irgendwelchen Einschränkungen.

Mein Rat: Finger weg von Audible. Wenn du ein Hörbuch haben willst, welches aktuell nur bei Audible verfügbar ist, dann setz dich mit dem Produzenten in Verbindung und besprich die Möglichkeit eines alternativen Vertriebswegs.

=-=-=-=-=
Powered by Blogilo

Playr – Ein iPod Shuffle für die Bash

Januar 21, 2013 um 10:05 vormittags | Veröffentlicht in Bash, Multimedia, Programmieren, Ubuntuusers | 9 Kommentare

Schon länger habe ich nach einer Möglichkeit gesucht ein paar Musikdateien auszuwählen und in zufälliger Reihenfolge abspielen zu lassen. Das kann sowohl ein einzelnes Album sein, als auch eine Zusammenstellung mehrere Tracks aus verschiedenen Verzeichnissen. Außerdem sollte dieses Programm Konsolen-basiert sein, da ich es für schnelle Wiedergabe brauche und nicht zuerst in einer GUI alles zusammenklicken will. Da ich ein solches Programm leider noch nicht gefunden habe, habe ich mir selbst ein Bash-Skript zusammengestellt, welches als Scheduler dient und play (Paket sox aus den Quellen) zum Abspielen verwendet. play kann sowohl OGG, FLAC und WAV abspielen. Nach Installation von libsox-fmt-mp3 auch MP3.

Playr

Playr steht für die Zusammensetzung aus play (dem Programm fürs Abspielen der einzelnen Tracks) und random (engl.: zufällig). Dass es aussieht wie ein Web2.0-Name ist wiederum Zufall (dt.: coincidence).

Die grobe Funktionsweise: Die übergebenen Musiktracks werden in eine versteckte Textdatei geschrieben. Dann wird mit Hilfe von $RANDOM eine Zufallszahl zur Berechnung des nächsten Tracks verwendet. Dieser Track wird sodann abgespielt und aus der Textdatei entfernt. Das verhindert, dass dieser erneut abgespielt wird (was etwas ist, dass ich bei portablen Audio-Playern sehr nervig finde). Solange noch Tracks in der Liste sind wird fortgefahren.

Soll die Wiedergabe abgebrochen werden, muss der Nutzer nur [strg]+[c] drücken. Leider habe ich bis jetzt keine Möglichkeit gefunden zusätzlich dazu auch einfach zum nächsten Track zu wechseln. Man kann natürlich einfach die trap entfernen, dann bricht [strg]+[c] nur das aktuelle play ab. Dann kann jedoch das Skript selbst nicht mehr komfortabel beendet werden.

Das Skript

Wir beginnen mit der trap. Dieses Konstrukt sorgt dafür, dass unser Skript [strg]+[c] verarbeiten kann. Dafür schreiben wir folgende Zeile:
trap quit SIGINT SIGTERM

Diese Zeile führt dazu, dass beim Erhalt der Signale SIGINT (Signal 2) oder SIGTERM (Signal 15) quit ausgeführt wird. Nun ist quit kein Bash-Befehl sondern eine Funktion, die wir uns selbst schreiben, welche das Skript geordnet beendet:
function quit {
    rm -f $TRACK_FILE $TEMP_FILE
    exit 1
}

Diese Funktion schreiben wir vor die Trap. In dieser löschen wir einfach unsere Textdateien, damit sie beim nächsten Programmaufruf nicht stören.

Als nächstes definieren wir zwei Variablen für unsere versteckten Textdateien. Zum einen eine Datei um die Tracklist zu speichern, zum Anderen eine Datei in der die veränderte Liste gespeichert wird:
TRACK_FILE=/tmp/.tracklist.playr
TEMP_FILE=/tmp/.temp.playr

Wir speichern die Dateien in  /tmp , damit sie keine Verzeichnisse zumüllen. Außerdem sollten wir in  /tmp  immer Schreibzugriff haben. Sollte  /tmp  nicht verfügbar sein, kann man das Verzeichnis ja auf  $HOME  ändern.

Nun wirds Zeit sicherheitshalber Überbleibsel einer vorherigen Ausführung zu entfernen:
rm -f $TRACK_FILE $TEMP_FILE

Nur für den Fall, dass etwas total schief gelaufen ist.

Um die Tracklist zu erzeugen schreiben wir nun einfach alle Parameter, die beim Skriptaufruf übergeben wurde in das TRACK_FILE:
for file in " $@ "; do
    echo " $file "
done > $TRACK_FILE

Das funktioniert gewisserweise wie eine foreach-Schleife. Eine beliebige Anzahl Parameter wird durchlaufen ( $@ ). Der jeweils aktuelle Parameter wird in  $file  gespeichert und in der Schleife verarbeitet. Hier wird er einfach an die Standardausgabe geschickt. Die komplette Ausgabe der Schleife wird wieder auf  $TRACK_FILE  umgebogen, wodurch die Ausgabe nicht auf der Kommandozeile erscheint, sondern in der angegebenen Datei.

Die Größe der Tracklist holen wir uns mit wc:
size=$( cat "$TRACK_FILE" | wc -l)

Natürlich könnte man die Datei auch gleich als Parameter für wc angeben:
wc -l " $TRACK_FILE "

Dann jedoch erhält man eine Ausgabe nach folgendem Muster:
6 .tracklist.playr

Man muss also erst noch den eigentlichen Wert extrahieren. Da mache ich lieber den “Umweg” über cat. Ist kürzer.

Nun kommt die eigentliche Hauptschleife des Programmes:
while [[ $size -gt 0 ]]; do
    ## Code
    ((size–))
done

Diese Schleife läuft solange durch, bis  $size  den Wert 0 hat. Da  $size  auf jeden Fall größer als 0 sein muss und in jedem Durchgang um eins verringert wird, ist das irgendwann der Fall. Mit der Abbruchbedingung verhindern wir auch, dass die Schleife ausgeführt wird, wenn die Tracklist leer ist.

Es ist Zeit. Zeit um die Urväter, die Auditoren, die Götter anzurufen. Zeit eine Zufallszahl zu erzeugen. Einer Zufallszahl innerhalb eines Intervalls errechnet man am Besten mithilfe von Modulo. Modulo ist der Name der in der Unterstufe als Restwertdivision bekannten Berechnung.

Kleine Beispiele:  10 / 3 = 3 . Rest:  1 13 / 5 = 2 . Rest:  3 . Uns interessiert immer der Restwert. Dieser ist auf jeden Fall immer  um  1  kleiner als der Divisor (für diejenigen, die schon lange aus der Schule draußen sind :) ).

Bash scheint keine built-in Funktion für Modulo zu haben, dafür gibt es ein paar andere Möglichkeiten eine solche Berechnung durchzuführen. Am ansprechendsten habe ich  let  gefunden:
let "rand = $RANDOM % $size + 1"

In der Variable  $rand  wird das Ergebnis der Berechnung festgehalten.  $size  ist natürlich der Begrenzer.  $RANDOM  ist eine Umgebungsvariable, welche bei jedem Aufruf einen neuen zufälligen Integer (Ganzzahl) ausgibt. Da diese Berechnung bei einer Tracklist-Größe von z.B.  6  den Wertebereich von  0-5  abdeckt, wir aber kein  0 tes Lied, dafür aber ein  6 tes, zählen wir zum Ergebnis einfach  1  dazu.

Den damit errechneten Track erhalten so:
track= " $( head  $TRACK_FILE  -n$rand | tail -n1)

Hier passiert ein bisschen was:
head  -n$rand

filtert die ersten  $rand  Zeilen aus der Liste. Ist  $rand also  2 , dann erhalten wir durch  head   die ersten  2  Zeilen. Dadurch ist der gesuchte Track immer an letzter Stelle in der Liste. Diese letzte Stelle können wir uns nun per  tail  holen:
tail  -n1

Hier holt uns  tail  die  1 ste Zeile von hinten. Damit haben wird unseren Track. Dieser wird nun in die Variable  $track  gespeichert.

Jetzt wird es Zeit den Track abzuspielen:
play " $track "

Natürlich kann man auch das Ausrechnen des Tracks und den Aufruf von  play  in einer Zeile unterbringen. Ich bin jedoch eher für lesbaren Code als für “Zeileneffizienz”.

Zum Abschluss muss noch eine neue Tracklist angelegt werden, ohne den gerade abgespielten Track. Dazu holen wir uns zuerst alle Tracks vor dem Aktuellen:
head " $TRACK_FILE " -n$[ $rand-1 ] > " $TEMP_FILE "

und die Tracks danach:
tail " $TRACK_FILE " -n$[ $size-$rand ] >> " $TEMP_FILE "

Mit
$rand-1

holen wir uns alle Tracks vor dem Aktuellen und sparen diesen aus. Hingegen
$size-$rand

liefert uns alle Tracks nach dem Aktuellen. Damit erhalten wir wieder dieselbe Liste wie zuvor, nur ohne dem letzten Track. Man beachte die Pfeile, welche das Ergebnis jeweils nach $TEMP_FILE schicken. In der ersten Zeile befindet sich nur ein Pfeil. Das bedeutet, dass die Datei überschrieben und neu befüllt wird. Es wird also nur das gespeichert, was in dieser Zeile herauskommt. In der zweiten Zeile hingegen sind zwei Pfeile. Das bedeutet, das das Ergebnis an die Datei angehängt wird. Der Inhalt der Datei wird also nicht über-, sondern der neue Inhalt dahinter in die Datei geschrieben.

Schließlich müssen wir die neue Tracklist noch über die alte schreiben:
mv " $TEMP_FILE " " $TRACK_FILE "

Nach der Schleife selbst rufen wir noch einmal quit auf, damit das Skript sich auch ohne Abbruch durch den Nutzer sauber beendet.

Das vollständige Skript

#!/bin/bash

function quit {
     rm  -f $TRACK_FILE $TEMP_FILE
     exit  1
}

trap  quit SIGINT SIGTERM

TRACK_FILE=/tmp/.tracklist.playr
TEMP_FILE=/tmp/.temp.playr

rm  -f $TRACK_FILE $TEMP_FILE

for  file  in  $@ do
     echo   $file
done > $TRACK_FILE

size=$( cat  “$TRACK_FILE” |  wc  -l)

while [[  $size -gt 0 ]]; do
     let  “rand =  $RANDOM  %  $size  + 1″
    
track= " $( head  $TRACK_FILE  -n$rand  tail  -n1)
     play  $track
     head   $TRACK_FILE  -n$[ $rand-1 ] >  $TEMP_FILE
     tail   $TRACK_FILE  -n$[ $size-$rand ] >>  $TEMP_FILE
     mv   $TEMP_FILE ” “ $TRACK_FILE
    ((size–))
done

quit

Zum Schluss

Ich bin vergleichsweise ein Anfänger in Shell-Script. Ich habe einige Erfahrung in C++ und es kann daher sein, dass ich versuche Konzepte daraus in Bash umzusetzen, obwohl es wesentlich einfachere Lösungen gibt. Wenn du eine bessere Lösung weißt, schreibe sie doch bitte in die Kommentare.

Lizenz

Das Skript steht unter der GPLv3.

Alternativen zu youtube-dl

Dezember 13, 2012 um 9:28 nachmittags | Veröffentlicht in Bash, Free Software/Open Source, Multimedia, Programmieren, Ubuntuusers | 15 Kommentare

Ich mag youtube-dl. Es ist einfach zu benutzen, ist plattformunabhängig (Python) und braucht nicht viele Ressourcen (Terminal-Anwendung).

Leider mag youtube-dl mich zur Zeit nicht. Sobald ich versuche ein Video herunterzuladen schaufelt die Anwendung meinen Arbeitsspeicher voll, sodass alles andere in den Swap ausweichen muss. Das führt dazu, dass das System innerhalb von Sekunden nicht mehr reagiert. Am längsten überlebt noch die Maus, welche sich etwa eine halbe Minute lang stark ruckelnd bewegen kann. Danach ist auch sie tot und das Einzige das hilft ist ein Hard-Reset. Keine wünschenswerte Situation.

Ich habe bereits
youtube-dl -U
als sudo ausgeführt um ein update des Scripts zu erzwingen. Das hat leider nichts geholfen. Der Streaming-Dienst ist auch egal. Ob YouTube, Vimeo oder sonst was, das Problem ist immer gleich.

Logischer Schritt: ich schaue mich nach Alternativen um. Wenn man per
apt-cache search
nach youtube sucht, werden einem bereits eine Liste an Programmen angeboten, welche in der Lage sind Videos von Streaming-Services herunterzuladen. Darunter befinden sich

  • clive
  • cclive
  • fatrat
  • slimrat
  • nicovideo-dl
  • get-flash-videos
  • metacafe-dl
  • nomnom

clive

Speziell clive hat meine Aufmerksamkeit erregt. Es ist ein Terminal-Tool, welches sich für Streaming-Services eignet, die ihre Videos in einem Flash-Player abspielen. Es ist leichtgewichtig, hat eine Vielzahl an praktischen Optionen und verhält sich allgemein sehr wie ich es von youtube-dl gewohnt bin.

Ein einfaches
clive <video_url>
lädt das Video an der angegebenen URL herunter. An sich kann man damit leben. Allerdings hat clive eben mehrere interessante Funktionen, mit denen man sich gerne spielt. Dazu gehört einmal der Schalter -F. Damit erhält man eine Liste von verfügbaren Formaten und Qualitätsstufen in denen das Video vorhanden ist. Diese Liste kommt im Format
hd|mobile|sd
Die durch “|” getrennten Optionen kann man dann in einem zweiten Aufruf dem Schalter -f angeben, welcher dann dafür sorgt, dass clive das Video in der gewünschten Qualität herunterlädt.

Da es etwas unbequem ist für jedes Video zwei Programm-Aufrufe zu starten, habe ich ein einfaches Skript geschrieben, welches diese Aufgabe abnimmt:

#!/bin/bash

VIDEO_URL="$1"
TEMP_FILE=".video-dl_temp_file"

clive -F "$VIDEO_URL" > "$TEMP_FILE"

CHOICES=$(cat "$TEMP_FILE" | tail -n1)

echo -n "Choose format (${CHOICES%% *}|best): "
read FORMAT

clive "$VIDEO_URL" --format="$FORMAT"
--filename-format="%t_$FORMAT.%s"

rm -f "$TEMP_FILE"

Was passiert hier?

VIDEO_URL=”$1
Wir speichern die angegebene URL in einer Variable.

TEMP_FILE=”.video-dl_temp_file
Der Einfachheit halber brauchen wir eine temporäre Textdatei, in welcher wir Informationen speichern können. Der Punkt am Anfang des Dateinamens bedeutet, dass die Datei versteckt ist. Sie wird also im Dateibrowser, oder per ls nicht angezeigt. Die Datei wird am Ende des Skripts wieder gelöscht.

clive -F “$VIDEO_URL” > “$TEMP_FILE
Hier holen wir uns die möglichen Formate, in denen das Video vorliegt und schreiben diese Ausgabe in die temporäre Datei. Da es sich hierbei um zwei Zeilen handelt und nur die zweite Zeile relevant ist, brauche ich:

CHOICES=$(cat “$TEMP_FILE” | tail -n1)
Diese Zeile gibt mir den Inhalt der temporären Datei aus (cat), schneidet die letzte Zeile ab (tail) und speichert die gewünschte Zeile in der Variablen CHOICES.

Als Nächstes fragen wir den Nutzer, welches Format bevorzug wird:
echo -n “Choose format (${CHOICES%% *}|best): 
wobei
${CHOICES%% *}
dafür sorgt, dass hinter der Liste nichts mehr steht. clive gibt hier nochmal die Adresse des Videos aus. Dieser Ausdruck schneidet sie weg.

Dann lesen wir die Wahl des Nutzers ein:
read FORMAT

Nun ist es an der Zeit endlich das Video herunterzuladen:
clive “$VIDEO_URL” –format=”$FORMAT
–filename-format=”%t_$FORMAT.%s

–filename-format gibt die Formatierung des Dateinamens an. %t und %s sind dabei Platzhalter, welche für den Titel und das Suffix der Datei stehen. Zusätzlich zu den Platzhaltern kann man noch beliebig weitere Vorgaben für den Dateinamen machen. Ich füge zwischen Dateinamen und Suffix noch das Format der Datei ein.

Nachdem die Video-Datei sicher auf der Platte liegt lösche ich noch die temporäre Datei:
rm -f “$TEMP_FILE

Fazit

Bis jetzt habe ich clive mit YouTube und Vimeo getestet. Beides funktionierte sehr gut und machte keine Probleme. Das Skript ist natürlich ausbaufähig. Zur Zeit kann es immer nur mit einem Video gleichzeitig umgehen und möglicherweise findet man noch einen besseren Weg als die Informationen in einer temporären Datei zu speichern. Für meine aktuellen Zwecke reichts.

clive steht unter der GPLv3.

=-=-=-=-=
Powered by Blogilo

Firefox – Wie man einen aufdringlichen Kleinen Panda in die Schranken weist

Juli 4, 2012 um 5:47 nachmittags | Veröffentlicht in Free Software/Open Source, Internet, Ubuntuusers | 2 Kommentare

2012, das Jahr für welches so mancher Pseudo-Prophet im Namen der Maya das Ende der Welt vorausbefürchtet, lieferte uns auch ein paar andere wichtige Ereignisse. So war es das Geburtsjahr von Firefox 10 … äh 11. Nein 12. Ach ja, 13 ist auch schon da. 14 soll auch bald da sein … Zum geplanten Ende der Welt soll uns die Version 17 Seligkeit bringen. Hoffen wir die Außerirdischen verwenden IE.

So viele Witzchen man auch machen kann über die rivalisierenden Browser, so viele Macken haben sie jeweils. Und obwohl der Firefox auf meinem Laptop noch vor Chromium und Rekonq der Browser meiner Wahl ist, erkenne ich seine diversen Mängel (hoher Speicherverbrauch, aufgeblähter Code, …) durchaus an. Einem seiner Mängel kann man aber durchaus einen Riegel vorschieben.

Das Problem ist einfach geschildert: Wenn in einem Programm (außer einem Webbrowser) ein Link angeklickt wird, dann schiebt sich Firefox mit dem neuen Tab in den Vordergrund. In den meisten Fällen will ich aber an dieser Stelle noch weiterarbeiten (eMail fertig lesen, noch mehr Links anklicken, …).

Der FireTray-Versuch

Mein Firefox ist mit dem FireTray-Addon (neben anderen) ausgestattet. Dieses bietet die Möglichkeit Fenster, die wiederhergestellt werden, im Hintergrund zu belassen (Den Haken vor “Active restored Windows” entfernen).

Das bringt den gewünschten Effekt, dass Firefox sich im Hintergrund öffnet, sobald er extern aufgerufen wird. Allerdings hat das auch zur Folge, dass Firefox sich ebenfalls hinter alle offenen Fenster schiebt wenn er durch einen Klick auf das FireTray-Icon wieder hergestellt wird. Da das nicht der gewünschte Effekt war, habe ich die Einstellung wieder aktiviert und mich nach alternativen Lösungen umgesehen.

Das Reich der about:config

Nach einer (erstaunlich kurzen) Recherche im Web (aka Google) fand ich einen Artikel, der genau mein Problem angesprochen hat. Der Artikel How To Stop Firefox From Stealing Window Focus von techsupportalert.com beschreibt die Lösung des Problems unter FF 5.0, sie ist aber auch auf alle späteren Versionen anwendbar. Hier eine kurze Zusammenfassung:

  • Man gebe in der Adress-Leiste (Smart Location Bar im FF-Sprech) “about:config” ein und akzeptiere den Warnhinweis.
  • Hier öffnet sich nun eine Konfigurationsseite. Am oberen Rand der Seite findet sich eine Filterleiste (“Suchen:”).
  • In diese Filterleiste gibt man nun folgende Zeichenkette ein: “browser.tabs.loadDivertedInBackground

Diese Einstellung wird von haus aus als deaktiviert ausgeliefert (als Wert steht “false“). Um die Einstellung nun zu aktivieren genügt entweder ein Doppelklick darauf oder man macht einen Rechtsklick darauf und wählt den Punkt “Umschalten” aus. So oder so sollte nun als Wert “true” eingetragen sein.

Firefox übernimmt die Einstellung sofort und muss nicht neu gestartet werden. Von nun an bleibt Firefox im Hintergrund wenn er von einem anderen Programm einen Link bekommt, öffnet sich aber im Vordergrund wenn er aktiv (z.B. über das FireTray-Icon) aufgerufen wird.

=-=-=-=-=
Powered by Blogilo

Microsofts Argument gegen DVD-Codecs in Win8

Mai 9, 2012 um 8:48 vormittags | Veröffentlicht in Österreich, Microsoft, Multimedia | Hinterlasse einen Kommentar

Über einen Artikel des Standard bin ich auf dieses FAQ von Microsoft gestoßen. Wie viele vermutlich wissen hat Microsoft angekündigt keine DVD-Codecs in Windows 8 zu integrieren. Nach Meldungen sollen solche zwar in den aktuellen Testimages vorhanden sein, in der Verkaufsversion dann aber fehlen. Diese Entscheidung wird damit begründet, dass Windows 8 hauptsächlich auf Geräten ausgeliefert würde die gar kein geeignetes Laufwerk zum Abspielen einer DVD beinhalten. Soweit kann man dem Argument folgen. Bei der Frage

Why can’t I just pay for DVD when I need it?

Übersetzung
Warum kann ich für die DVD-Funktion nicht einfach zahlen wenn ich sie brauche?

gibt Microsoft folgende Antwort:

When we have DVD playback capabilities in software broadly like in Windows 7, there is no way to distinguish whether the PC will ever play a DVD disc but still this cost is carried on every PC. [...]

Übersetzung
Wenn die Möglichkeit zum Abspielen von DVDs so verbreitet wie in Windows 7 einsetzen gibt es keine Möglichkeit zu entscheiden ob der PC jemals eine DVD abspielen wird. Die Kosten dafür sind aber bei jedem PC-Kauf zu zahlen. [...]

Man lasse sich das Argument auf der Zunge zergehen. Microsoft stellt also von sich aus klar, dass die technische Möglichkeit etwas zu tun noch nicht Grund genug sind dafür auch zahlen zu müssen. Das dürfte besonders die RIAA, GEMA, AustroMechana und wie sie nicht alle heißen freuen, die von einer Leerkassettenabgabe bisher ganz gut profitieren. In Österreich besonders die AustroMechana welche sich zur Zeit für recht hohe Abgaben beim Kauf einer Festplatte einsetzt. Denn, so das Argument, jemand der die technische Möglichkeit hat soll auch dafür zahlen.

Um es auf den Punkt zu bringen: Unter all den vorgeschlagenen Modellen zur Honorierung von künstlerischen Werken halte die die sogenannte Kulturflatrate für das beste Modell. Dabei zahlt jeder seinen Beitrag und eine Verwertungsgesellschaft schaut dazu, dass das vorhandene Geld gerecht aufgeteilt wird. ABER. Wenn ich pauschal für Kunst zahlen soll, dann will ich auch das Recht haben sie pauschal zu verwenden. Mit anderen Worten: für jedes Kunstwerk welches ich in meinem Land mit meinem Geld mitfinanziere muss gelten: das Werk geht in eine Art nationale Public Domain über. Wenn der Künstler das nicht will, dann hat er zwei Möglichkeiten: entweder das Werk unter eine spezielle Lizenz stellen oder es bei sich zu Hause im Keller vergraben. In beiden Fällen sehe ich aber auch keine Berechtigung mehr das Werk aus der Kulturflatrate zu bezahlen.

DIe Verwertungsgesellschaften haben bisher immer damit argumentiert, dass für die Künstler ein gleiches Recht gelten muss wie für jede andere Dienstleistung und ihre Werke somit nicht einfach gratis vervielfältigt werden dürften. Das ist für mich ein schiefes Bild. Ich bin der Meinung: gleiches Recht für alle. Der Künstler soll seine Entschädigung bekommen. Doch das wofür ich bezahle will ich auch verwenden dürfen.

=-=-=-=-=
Powered by Blogilo

Mozilla und Facebook verbünden sich [2. UPDATE]

März 31, 2012 um 11:18 nachmittags | Veröffentlicht in 1. April, Free Software/Open Source, Internet, Multimedia, Ubuntuusers | 8 Kommentare

Gerade eben ist eine bedenkliche Nachricht hereingeflattert. Mozilla hat bekannt gegeben, dass sich Facebook mit dem Versprechen einer jährlichen Spende gewissermaßen in die Entscheidungen bei der Entwicklung von Firefox eingekauft hat. Das soll heißen, dass sie den Kurs, den Firefox über die nächsten Jahre nehmen wird, entscheident mitbeeinflußen werden. Mozilla spricht von einer Abmachung welche der Verbreitung von Firefox auf lange Sicht gesehen sehr gut tun wird. Von Facebook selbst gibt es dazu noch keine Informationen.

[UPDATE]

Facebook hat gerade eine Meldung veröffentlicht nachdem sie planen einen Fork von Firefox zu basteln. Der Arbeitsname dieses Forks lautet FaceFox.

FaceFox Logo

Das vorläufige Logo von Facebooks Firefox-Klon “FaceFox”

Er soll den freien Browser und das “Social Network” näher zusammenbringen indem beim Beginn jeder Sitzung automatisch bei Facebook eingeloggt wird und über eine einblendbare Seitenleiste auf News und Freunde direkt zugegriffen werden kann. So soll das Tauschen von Links einfacher werden indem der Link aus der aktuellen Website direkt auf den Avatar eines Freundes gezogen werden kann und dieser dann in dessen Profil erscheint.

Auch an Nutzer die noch kein Facebook-Konto haben wird gedacht: FaceFox soll sich so verhalten als wäre er eingeloggt. Er führt ein lokales Profil welches im Falle einer Registrierung bei Facebook abgeglichen wird. FaceFox 1.0 soll auf Firefox 15.0 basieren. Bis dahin plant Facebook alle angedachten Modifikationen umgesetzt zu haben. Eine erste Alpha soll, auf Firefox 12.0 basierend, ein paar Tage nach dessen Erscheinen verfügbar werden.

Wer sich nun denkt: “das hätte Facebook auch ohne die Spenden haben können” hat damit durchaus Recht. Allerdings hat Facebook bereits weitergedacht. Nach einem Kommentar, den Mark Zuckerberg in seinem eigenen Profil veröffentlicht hat, soll die Entwicklung von FaceFox und Firefox bis zur Version 21.0 (also innerhalb der folgenden 6 Monate nach FaceFox 1.0) zusammengeführt werden und Firefox 21.0 über alle von Facebook bis dahin entwickelten Funktionen verfügen. Danach soll die Entwicklung bei Firefox weitergehen.

Facebook bekommt dadurch seinen eigenen “Haus-Browser” so wie Google Chrome hat, nur ohne die Entwicklung von Grund auf durchführen zu müssen.

[/UPDATE]

[2. UPDATE]

Verdammt, Google macht alles kaputt.

[/2. UPDATE]

=-=-=-=-=
Powered by Blogilo

Spark nun vorbestellbar

Februar 16, 2012 um 1:11 nachmittags | Veröffentlicht in Computer, Free Software/Open Source, GNU/Linux, KDE, Multimedia, Ubuntuusers | 4 Kommentare

Das Spark-Tablet, ein mit Mer laufendes 7 Zoll-Gerät, ist nun zur Vormerkung freigegeben. Interessierte können sich unter makeplaylive.com registrieren.

Mer ist ein Fork der für Mobilgeräte geschaffenen Linux-Distribution MeeGo. Als graphische Oberfläche wird das Spark KDE Plasma Active mitbringen. Nach dem von Aaron Seigo kürzlich veröffentlichten Promo-Video wird der Fokus auf den KDE Aktivitäten liegen. Der Umfang kann per Apps erweitert werden, welche sowohl kostenlos als auch käuflich über den zugehörigen add-on Store erwerbbar sein werden.

In der ersten Version wird das Display 7” groß sein, eine 1 GHz ARM Cortex A9 CPU beinhalten und über 512 MB DDR2 RAM verfügen. Als Speichermedium wird eine 4 GB große Flash Disk dienen. Über den integrierten MicroSD-Slot oder die beiden (Mini-) USB-Ports kann der Speicherplatz erweitert werden. Eine Kamera und eine Reihe von Knöpfen zum Steuern runden das 1080P-fähige Touch-Gerät ab. Wie lange die 3000mAH Batterie halten soll wurde noch nicht erwähnt. Das gute Stück wiegt etwa 355 Gramm. (Informationen von makeplaylive.com.)

Der aktuelle Aufruf zum Registrieren des Interesses soll den Entwicklern einen Überblick verschaffen wie groß die Nachfrage nach dem Gerät ist. Da sich das Gerät mit € 200,- relativ zu anderen Tablets im durchschnittlichen Preisbereich befindet sind die Hauptargumente die für das Spark sprechen wohl hauptsächlich seine offene Natur (der größte Teil ist freie Software) und der (eventuell) bereits bekannte KDE Desktop. Ich möchte mir ein solches Gerät auf jeden Fall zulegen. Sobald ich mich ein wenig damit herumgespielt habe werde ich meine Erfahrungen damit beschreiben.

Hier hat Aaron Seigo viele Antworten zu Fragen veröffentlich. Er schreibt dort unter anderem, dass Europa vorerst der Fokus der Verkäufe sein wird.

=-=-=-=-=
Powered by Blogilo

Defacto Internetverbot in Weißrussland

Januar 3, 2012 um 11:35 vormittags | Veröffentlicht in Internet, Politik | Hinterlasse einen Kommentar

Über die Groklaw Newspicks bin ich auf diesen Artikel der Library of Congress gestoßen. Darin werden die neuen Bestimmungen des Staates Weißrussland (Europas letzte defacto-Diktatur) beschrieben die mit kommendem Freitag in Kraft treten. Es handelt sich um den Versuch das Prinzip der Great Firewall of China nicht mit Technik umzusetzen, sondern mit Angst.

Das neue Gesetz macht es unmöglich ungestraft auf Services aus dem Internet zuzugreifen, wenn diese Services nicht direkt von einem Server in Weißrussland kommen. Ein Zugriff auf google.com, amazon.com, twitter.com, facebook.com oder wikipedia.org (selbst be.wikipedia.org, die weißrussische Version, da sie laut mtr auf US-Servern gehostet wird) wird demnach mit bis zu 125 US-Dollar bestraft, wenn diese Seiten nicht einen Server in Weißrussland stehen haben über den der Verkehr geleitet wird. Internetcafes oder auch private Haushalte mit Anschluss müssen mit Strafverfolgung und Schließung rechnen, wenn Kunden oder Freunde die bereitgestellten PCs mit Anbindung verwenden um auf einen solchen Service zuzugreifen.

Internetprovider müssen den Datenverkehr ihrer Kunden aufzeichnen und es gibt eine für Provider verpflichtende Sperrliste von Seiten die ihre Kunden nicht zu sehen bekommen dürfen. Damit beherrscht die weißrussische Regierung die oben genannten Server. Die offizielle Erklärung dieses Vorgehens ist die Abschottung der Menschen von extremistischen und pornographischen Inhalten. Weiters soll damit der weißrussische Teil des Internets besser besucht werden.

Wer im letzten Jahr ab und zu mal die Nachrichten eingeschaltet hat wird vom sogenannten Arabischen Frühling gehört haben. Wenn sie auch nicht ausschlaggebend für den Erfolg gewesen sein mögen, so wurden Services aus dem Internet wie Twitter, Blogs und Social Networks massiv zur Vorbereitung und Koordinierung der Proteste genutzt. Ein diktatorisches Regime wie Weißrussland hat natürlich die Gefahren gesehen und versucht die im arabischen Raum festgestellten Schwachpunkte der dortigen Regime bei sich selbst zu entfernen. Da kaum wichtige Infrastruktur in Weißrussland zu finden ist, ist das Verbot auf ausländische Services zuzugreifen defacto eine Schaffung eines vom Staat kontrollierten Intranets und eine Abschottung nach Außen. Die Werkzeuge des Arabischen Frühlings sind also aus Weißrussland dann nicht mehr zu erreichen.

Neben den immer noch bestehenden Regimen wie z.B. Syrien, dem Iran, China und Nordkorea wird auch in Weißrussland mit der Todesstrafe, Verschleppungen und dem Verbot von demokratischen Mitteln gearbeitet (Wikipedia). Ich wünsche der weißrussischen Bevölkerung viel Erfolg, sollte sie sich in nächster Zeit gegen Präsident Aljaksandr Lukaschenka auflehnen.

=-=-=-=-=
Powered by Blogilo

Windows Store Terms of Use – Was glauben die wer sie sind?

Dezember 10, 2011 um 10:40 vormittags | Veröffentlicht in DRM, Microsoft | Hinterlasse einen Kommentar

Es gibt vermutlich, neben Anwälten, wenig Menschen, die sich jemals eine komplette Microsoft EULA durchgelesen haben. Vor langer Zeit habe ich mir das mal für Windows XP, MS Office und später Windows Vista angetan. (Zu den EULAs ist bei Microsoft selbst wenig zu finden, vor allem zu älterer Software.) Nach ein paar Stunden und mehreren Pausen war ich dann durch und nicht viel klüger. Auch damals fand ich darin bereits Punkte, bei welchen sich Microsoft Rechte einräumte, die heute zum Standardrepertoire jeder Software-Firma zu gehören scheinen:

  • Software wird zum Gebrauch lizensiert, nicht verkauft.
  • Microsoft kann die Unterstützung für die bezahlte Lizenz jederzeit und ohne Ankündigung beenden

Dementsprechend war ich nicht verwundert diese Punkte in der EULA zum kommenden Windows Store zu finden. Für alle die es nicht wissen: Der Windows Store ist ein App Store, welcher das kommende Windows 8 mit einfachem Zugang zu Apps versorgen soll.

Etwas überaschter bis irritiert war ich dann aber, als ich mir die weiteren Punkte durchlas. Da ist zum Beispiel davon die Rede, dass Microsoft, diesmal durch die EULA gedeckt, das OS zur Spyware machen darf:

To provide the Windows Store service, we may collect certain information about service performance, your service use, and your use of your Windows 8 Beta system.

Mit Windows 8 Beta System ist gemeint

… the device running Windows, any software running on that device, and any devices or software communicating with that device.

Also will MS nicht nur über mein Win8-Tablet Informationen erfassen dürfen, sondern auch über meinen Drucker, meinen Standcomputer, den Laptop meiner Freundin, meinen Homeserver, usw. …

Liest man weiter, so stößt man auf den Punkt “What are my rights for apps I get from the Windows Store?“. Der erste Satz hat bereits viel damit zu tun, was Microsoft als “Recht” des Konsumenten auffasst:

All apps made available through the Windows Store are licensed, not sold, to you.

Soweit bekannt. Auch in der restlichen Erklärung ist nichts zu meinen “Rechten” zu finden, sondern nur eine Definition wo meine Einschränkungen bei der Benutzung sind, und dass Dritte mit ihren Apps ganz eigene Nutzungsvereinbarungen treffen können.

Wenn ich nun bereits eine solche App gekauft habe findet sich ein neuer interessanter Punkt: fehlerhafte Abrechnungen. Dazu hat Microsoft folgendes zu sagen:

If we make an error on your bill, and we identify the error, we may correct it at any time, and you will pay the corrected amount. If you identify the error within 120 days after the statement date, we’ll investigate it promptly after you tell us and we’ll correct the charge if we agree that it was in error.

Natürlich kann man die von mir hervorgehobenen Punkte auch positiv sehen:

  • “we may correct it at any time” kann auch bedeuten, dass sie versuchen den Fehler so schnell wie möglich zu beheben. Es kann aber auch bedeuten, dass sie sich solange Zeit lassen können wie sie wollen. Das Geld liegt auf ihrem Konto ja ebenso gut wie auf meinem, oder?
  • “if we agree that it was in error” hat selbstverständlich seine Berechtigung. Bloß weil ich einen vermeintlichen Fehler melde, heißt das noch nicht, dass es tatsächlich einer ist. Soweit so unspektakulär. Hinsichtlich Microsofts Geschichte im Umgang mit Fehlern (Stichwort: It’s a feature, not a bug) hinterlässt diese Formulierung dann doch einen schalen Geschmack.

Eine weitere interessante Regelung findet sich bei einer eventuellen Rückgabe einer App. Da es ja durchaus sein kann, dass ich die falsche App ausgesucht habe sollte man meinen, dass es eine Möglichkeit gibt diese “zurück zu geben”. Eventuell innerhalb eines kurzen Zeitraumes mit voller Kostenrückerstattung. Microsoft schließt das von vornherein aus:

Because the Windows Store services begin immediately when you acquire an app, you do not have the right to cancel your purchase once you get the app. This means there is no withdrawal right or “cooling off” period for your use of the Windows Store, and all charges for apps are non-refundable, except as described in this section. Unless the law in your territory requires a “cooling off” period despite this agreement, you waive any right to a “cooling off” period.

Die “Exceptions described in this section” inkludieren: Apps die sich nicht installieren lassen und Apps deren Beschreibung nicht mit deren Funktionsumfang übereinstimmen. Natürlich gibt es die Gefahr, dass ich mir eine App kaufe, ein Backup des Codes mache und die App wieder zurückgebe. Das ließe sich innerhalb von Minuten bewerkstelligen. Da die App aber vermutlich ohne gültige Lizenz, welche bei einer Deinstallation wohl gelöscht würde, sowieso nicht laufen wird heißt das Credo hier offensichtlich: Kulanz gleich Null.

Wir kommen zum, meiner Ansicht nach, wichtigsten Punkt dieser EULA: “Can Microsoft remove apps or data from my device?“. Die spannende Frage nach einem Kill Switch, wie ihn die App Stores von Apple und Google ja bekanntlich besitzen. Beginnen wir mit dem ersten Satz:

We may change or discontinue certain apps or content offered in the Windows Store at any time, for any reason.

Ein alter Hut. Eine App die du heute bei uns siehst, muss morgen nicht mehr im Angebot sein. Weiter:

In cases where your security is at risk, or where we’re required to do so for legal reasons, you may not be able to run apps or access content that you previously acquired or purchased a license for.

Soweit so klar. Microsoft kann auch rechtlichen oder Sicherheitsgründen eine App auf meinem Gerät deaktivieren oder Daten löschen. Hä, was? Microsoft kann meine Daten löschen? Ah, es geht “nur” um “content that you previously acquired or purchased a license for“. Also um Filme, Musik und dergleichen welche ich über den Windows Store bezogen habe. Und nur dann, wenn es rechtlich notwendig ist oder Sicherheitsbedenken bestehen. Oder?

If the Windows Store, an app, or any content is changed or discontinued, your data could be deleted or you may not be able to retrieve data you have stored. We have no obligation to return data to you. If sign in information or other data is stored with an expiration date, we may also delete the data as of that date.

Herr Maier, wie nochmal? Wenn eine App oder ein Medium verändert oder nicht länger unterstützt wird, oder einfach der gesamte Store den Bach runter geht, dann behält sich Microsoft das Recht vor all diese Daten zu löschen? Einfach so? Das wäre in etwa gleichbedeutend wie: Saturn sperrt zu und mein PC explodiert. Bloß weil der Anbieter verschwindet, darf ich also seine Inhalte nicht mehr verwenden. Das ist harter Tobak. Leider, wenn man sich die Geschichte “lizensiert, nicht verkauft” zu Ende denkt, ist das die logische Folge. Mich wundert ja nur, dass nicht alle mit dem Internet verbundenen XP-Maschinen am Ende des Supportzeitraumes automatisch ein format C: ausgeführt haben.

Ein weiterer interessanter Punkt ist der Folgende:

Some apps may also stop working if you update or change your Windows 8 Beta device, or if you attempt to use those apps on a Windows 8 Beta device with different features or processor type.

Diese Ankündigung verwundert mich über die Maßen. Bei einem Update meines OS oder beim Austausch einer Komponente oder beim Versuch die App auf einem anderen Windows 8 Gerät auszuführen, welches andere Hardwaremerkmale oder einen anderen Prozessortyp hat, kann es sein, dass eine App nicht mehr funktionieren will. Ja klar, Kompatibilität, Bits der CPU, … äh, wie nochmal? War da nicht die Ankündigung von MS, dass Apps vorrangig auf HTML5, Javascript und CSS basieren sollen? Auch im Artikel wie man eine grundsätzliche Metro App schreibt werden diese Sprachen im selben Atemzug mit C++, C# und Visual Basic genannt. Später werden sie dann überhaupt alleine hervorgehoben. Keine der angesprochenen Sprachen funktionieren ausschließlich mit einer ganz bestimmten Hardware-Konstellation. Einzig C++ muss für einen alternativen Prozessor eventuell neu kompiliert werden. Da MS aber Win8 bekanntlich auch für die ARM-Architektur herausbringen will, kann man sich wohl erwarten, dass es auch Versionen der Apps für diesen Prozessortyp gibt. Ah, ich vergas. Es handelt sich dabei nicht um Probleme der Apps, sondern um technische Beschränkungen. Du darfst eine App nur so verwenden, wie wir es dir erlauben. Ein altbekanntes Motto von Microsoft.

Auch die nächste Frage wird spannend: “Can Microsoft change the Windows Store or my access to it?“. Antwort:

We may change the Windows Store at any time, for any reason or no reason, and we may also cancel or suspend your ability to access the Windows Store if you’re in breach of this agreement. If we cancel your Windows Store service account or your credentials, your right to use the Windows Store stops immediately, but you’re still required to pay all charges already incurred through that account.

Den “breach of this agreement” behandelt Microsoft gleich im nächsten Punkt “Can Microsoft change these Terms of Use?“:

Yes.

Microsoft kann jederzeit die “Terms of use” ändern, womit sich ein Nutzer von jetzt auf gleich außerhalb der Bedingungen befinden kann. Besonders wird diese Frechheit aber durch folgenden Punkt bewusst:

We’ll indicate the date on which these terms were last updated at the top of the most current version of the terms. You are encouraged to revisit the terms of use before each acquisition from the Windows Store. Every time you attempt to install an app, you’re confirming your agreement to the then-current terms. You should check the version date on the terms from time to time to make sure you’ve reviewed the latest version of the terms. We might also require you from time to time to click a button or other indicator to accept an updated contract that includes changes (although we aren’t required to do so for any changes to these terms to be binding). If you don’t agree to those changes, you have no rights to continue to access the Windows Store.

Die einzige Möglichkeit herauszufinden, zu welchen Bedingungen ich eine App kaufe, ist die “Terms of use” jedesmal, wenn ich eine App kaufe, durch zu lesen. Der einzige Ort an welchem ich herausfinden kann, ob ich mich noch einmal durch den ganzen Mist quälen muss ist die Seite mit den “Terms of use” selbst. Rein theoretisch müsste ich also, wenn ich drei Apps kaufe, vor dem Kauf jeder einzelnen App diese Bedingungen durchlesen um rechtlich auf der sicheren Seite zu sein. Microsoft schreibt zwar, dass sie möglicheweise manchmal eine Aufforderung neue Bedingungen zu akzeptieren in Form eines Knopfes anzeigen. Welch Hürde. Dies muss aber nicht geschehen, damit diese Bedingungen rechtlich bindend sind. Ich frage mich was Konsumentenschützer zu dieser Konstruktion sagen würden.

Ich gebe zu, dass dies die erste EULA von Microsoft ist, bei deren Durchlesen mir schlecht geworden ist. Trotzdem, dass es sich bei vielen Punkten hier um altbekannte Allüren eines Softwareproduzenten handelt, dessen Tentakel bis in unser privates Leben hineinreichen (Hotmail, MSN, Skype, Bing, …) bin ich entsetzt von der Selbstverständlichkeit mit der Microsoft hier die Beschränkungen seiner Kunden festlegt. Als ob es keine Alternative gäbe und der Nutzer eh nur die Produkte von Microsoft verwenden könnte. Friss oder stirb. Kein Gott neben Microsoft.

Ich habe in meinem Leben noch keine Kaufempfehlung an irgendwen für ein Microsoft-Produkt gegeben. Ich halte mich bisher diesbezüglich zurück und gebe eher Empfehlungen z.B. reine Hardware zu kaufen und eine GNU/Linux-Distribution aufzuspielen. In diesem Fall jedoch mache ich eine Ausnahme. Mit Hinweis auf diese EULA werde ich aktiv jeder Person mit der sich das Thema ergibt vom Kauf eines Gerätes mit vorinstalliertem Windows 8 oder einem Installmedium mit der Software selbst abraten. Es handelt sich dabei, meiner Meinung nach, um eine größere Gefahr für die Freiheit des Nutzers als die, noch nicht bestätigten, Befürchtungen zu Secure Boot.

Was ist deine Meinung dazu? Hast du dir frühere EULAs durchgelesen? Siehst du den Inhalt der Windows Store Terms of Use positiver als ich?

=-=-=-=-=
Powered by Blogilo

Nächste Seite »

Bloggen Sie auf WordPress.com. | The Pool Theme.
Entries und Kommentare feeds.

Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.