iBooks Author – einfacher kann man ein Buch nicht mehr schreiben

Bereits beim intensiven Lesen der Steve Jobs Biografie – übrigens ein sehr sehr gutes Buch – wurde angeteasert, dass eines der nächsten großen Projekte Apples die Umkrempelung des Bildungsmarktes sein wird. Und genau das ist heut eingetreten – mit der iBooks Author App und iBooks 2.

Die kostenlose App bietet alles, was man zum Erstellen eines eigenen Buches benötigt. Da gibt es die automatische Kapitel- und Inhaltsverwaltung, einfaches Layouting und zusätzlich die Möglichkeit, die Inhalte durch 3D-Szenen, Bildgalerien, Videos, interaktive Bilder usw. zu erweitern. Genau das, was ein normales analoges Buch und auch die derzeitigen Ebooks noch nicht bieten können. An dieser Stelle zeigt das iPad nun mal wieder seine Stärken gegenüber “normalen” Ebook-Readern. Und das Aufspringen von 3 großen Schulbuchverlagen bei diesem Thema in den USA zeigt bereits, dass auch andere das so sehen.

Apple hat eben genau wieder an der richtigen Stelle angesetzt. Diese nahtlose Integration und dieses extrem simple Handling sind einfach grandios. Hinzu kommt das simple Testen direkt auf dem eigenen iPad. Einfacher kann man es einem Author nicht mehr machen, sein eigenes Buch zu schreiben. Es bleibt nun abzuwarten, in welche Richtung sich der Markt entwickelt. Ich vermute ja mal, dass es nicht primär beim Bildungsmarkt bleiben wird, sondern eher hin zu interaktiven E-Magazinen, Handbüchern und Tutorials geht. Was nicht unbedingt schlecht sein muss, aber eben am ursprünglichen Gedanken vorbei geht. Sehr schön ist auch die Möglichkeit, dass man, sofern man ein kostenloses Ebook erstellt, dieses auch außerhalb des iTunes Stores zum direkten Download anbieten kann.

Was sagt ihr dazu? Blödsinn oder sinnvolle Innovation?

[UPDATE]
Hier noch die offizielle Video-Tour von Apple:

Klipsch Image One – Fetter Sound für deine Ohren

Kurz vor Weihnachten hat es mir gereicht – meine Phillips-Billig-Kopfhörer haben mich nur noch genervt. Ein Wackler an der Lautstärkeregelung, ein Klappern bei jeder Bewegung – selbst der relativ gute Sound konnte das nicht mehr wett machen. Also mussten neue Ohrenschützer ran.

Mein Vorteil: 2 meiner Arbeitskollegen hatten sich vor kurzem neue Kopfhörer geholt. Zum einen die “Beats by Dr. Dre”, zum anderen die “Klipsch Image One”. Als Präferenz steht für mich grundsätzlich Bass ganz oben, gefolgt von klaren Höhen und saftigen Mitten. Beide Kopfhörer bieten dies voll und ganz, und die “Beats” liegen im direkten Vergleich vorn – jedoch zu einem ziemlich extravaganten Preis von 180-450 €. Da bewegt man sich mit den Vertretern von Klipsch in etwas humaneren Regionen – diese sind bereits ab 112 € zu haben.

Somit fiel meine Wahl auf die Klipsch Image One.

Der Sound? Absoluter Wahnsinn. Die Teile drücken die Bassschläge nur so gegen das Trommelfell, aber auch engelsgleiche Frauenstimmen kommen wunderbar klar rüber. Die 45° schwenkbaren Ohrmuscheln sitzen dabei fest und liegen gut an – und es schmerzt auch nicht, wenn man die Image One mal länger trägt. Von der Verarbeitung her kann man auch nicht meckern, jedes Material sieht wertig aus und es klappert und wackelt nichts.

Wie die “Beats by Dr. Dre” Kopfhörer bieten auch die Klipsch Image One eine iPhone/iPad/iPod kompatible 3 Tasten Steuerung, mit der man die Lautstärke regeln, die Wiedergabe stoppen oder fortsetzen und natürlich das vorherige oder das nächste Musikstück anwählen kann. Außerdem beinhaltet die “Fernsteuerung”, wie auch bei den originalen Apple Kopfhörern, ein Mikrofon. Somit kann man wie gewohnt telefonieren, ohne erst die Kopfhörer abnehmen oder das iPhone aus der Tasche holen zu müssen.

Zum Lieferumfang gehören neben den Kopfhörern selbst eine Transporttasche und 2 Steck-Adapter. Einmal für den 3,5 Klinke auf 6,3 Klinke, und dann noch einen sehr praktischen Adapter für das Macbook, welches die Klipsch Image One zu einem kompatiblen Headset machen. Der Adapter passt genau an den Line In und an den Audio Out Stecker – und in den Adapter wiederum steckt man dann den 3,5 Klinke Stecker.

Fazit

Wer richtig guten Sound, angenehmen Tragekomfort und stylische “Ganzohr”-Kopfhörer sucht, dem kann ich die Klipsch Image One Kopfhörer wärmstens empfehlen. Die Steuerung mit der Fernbedienung funktioniert wunderbar, und nicht umsonst werden die Teile direkt im Apple Store beworben. Wer noch ein bisschen mehr Geld auf der hohen Kante hat, der sollte sich die “Beats by Dr. Dre” zumindest einmal ansehen und dann entscheiden, was einem lieber ist.

Update
Auf Nachfrage habe ich die Image One mal an einem HTC Desire Z probiert – hier kann man mit der Fernbedienung im MP3 Player lediglich die Wiedergabe stoppen oder fortsetzen. Die Lautstärke sowie die Skip Funktion sind nicht vorhanden.

Wir haben da mal eine Hochzeitseinladung gebastelt…

Die Abwesenheit hier im Blog ist zum einen mit der Weihnachtszeit zu begründen, liegt zum anderen aber auch an den Vorbereitungen für unsere Hochzeit. Da die Einladungen größtenteils verteilt sind und somit keine vorzeitigen Überraschungen zu erwarten sind, möchte ich euch auch daran teilhaben lassen.

Nach sehr langer Überlegung und viel Recherche im Internet, sind wir darauf gekommen, dass wir die Einladung mit meinem großen Hobby, der Fotografie, verbinden können.

Als die Amazon-Bestellung endlich ankam, konnte losgebastelt werden. Die Filme wurden erstmal zurechtgeschnitten und anschließend um unseren gedruckten “Film” ergänzt.

Anschließend wurde noch eine schöne Verpackung verwendet, um die Filmrolle gebührend betten zu können. Noch ein Schleifchen drum, und schon war sie fertig, die Hochzeitseinladung der Familie Waury.

Der Einladungstext ist natürlich nur für die Gäste bestimmt – aber es sei so viel verraten: die Einladung wurde noch durch eine Internet-Seite sowie eine iPhone/Android Countdown-App ergänzt 😉

Wenn ihr nach dem Aufwand fragt: für ca. 40 Einladungen haben wir 2 Abende mit jeweils ca. 4 Stunden investiert. Die “Filme” hätten wir auch selbst drucken können, allerdings haben wir bereits beim Prototypen bemerkt, dass die Druckerschwärze nicht so gut hält und somit schnell abreibt. Da eine so geringe Auflage nicht sehr teuer im Druck ist, kann man dieses Geld für die bessere Qualität ruhig investieren.

Blogparade: Mein bestes Foto 2011

Schon seit einiger Zeit gab es keinen Medien-Content hier von mir zu sehen – da kommt mir die Blogparade von visuellegedanken.de sehr gelegen. Der Betreiber von visuellegedanken.de, auch ein Martin, möchte damit eine Sammlung der besten Bilder aus dem Jahre 2011 zusammenstellen. Das Auswahlkomitee besteht nicht aus irgendwelchen Schlippsträgern, sondern aus den Fotografen selbst. Und so möchte ich gerne meinen Beitrag dazu leisten.

Die Wahl fiel für mich auf “Father & Daughter” – ein Bild, welches ich im Sommer diesen Jahres auf dem Stachus in München geschossen hatte:

Wie so oft im Leben, entstand das Bild eher aus Zufall, denn ich wollte eigentlich nur die Belichtungseinstellungen testen. Später beim Auswerten der Bilder stach dieses besonders heraus. Und so wurde es zu meinem Lieblingsbild in diesem Jahr.

PS: Vielen Dank an Martin für die Inszenierung dieser Blogparade!

Solarized – das perfekte Farbschema für deine IDE

Bereits vor einer Weile hatte ich in der Nerdtanke Nr. 6 (übrigens ein sehr guter IT Podcast) vom “Solarized” Farbschema gehört. Einige Zeit später habe ich es nun endlich mal ausprobiert und bin begeistert. Aber was ist “Solarized” überhaupt?

Ethan Schoonover, der Schöpfer von “Solarized”, hat sich hingesetzt und die optimalen Farben für eine IDE bzw. auch für die Shell, zusammengestellt. Dabei herausgekommen ist eine Sammlung von 16 Farben – 8 Pastelltöne und 8 Aktzentfarben. Diese Farben werden sowohl in einer hellen als auch einer dunklen Kombination angeboten. Mehr ist “Solarized” auch gar nicht. Alles, was man noch tun muss, ist die Farben seiner IDE auf diese 16 umzustellen. Oder man nimmt die freundlicherweise zur Verfügung gestellten Voreinstellungen für die gängigen IDEs auf der “Solarized”-Homepage. Da ich derzeit eifriger Nutzer von PHPStorm bin, und dies leider nicht auf der Liste steht, habe ich hier das entsprechende Schema und die Anleitung, wie man es lädt, gefunden.

Probiert es doch einfach mal aus…

via nerdtanke.de

Firebug für’s iPhone und iPad

Die Entwicklung von html5 Apps auf dem iPhone/iPad kann manchmal schon etwas anstrengend sein, weil man nicht so tolle Debugging Werkzeuge hat, wie auf seinem Rechner. Doch es gibt eine außerordentlich praktische Lösung, die sehr hilfreich ist: Firebug in der iOS Web Variante. Was muss ich dafür tun?
Geh einfach mit deinem iPad/iPhone auf “firebug on ipad and iphone” und folge der Anleitung. Anschließend kannst du auf jeder beliebigen Seite das erstellte Lesezeichen aufrufen, und schon erscheint ein rudimentärer Firebug.

via martinkool.com

iPhone/iPad Tipps und Tricks

Die Zahl der iOS Benutzer wird immer größer – und nachdem ich der 10. Person die gleichen Tips verklickert habe, macht es wohl Sinn, diese hier mal zentral aufzulisten. Falls ihr weitere Tricks und Hinweise habt, einfach in die Kommentare damit und ich versuche den Artikel so aktuell wie möglich zu halten 😉

Noch eine kurze Erläuterungen zu den verwendeten Begriffen:

  • Hometaste: die Taste, die sich zentriert unter dem Display befindet
  • Standby-Taste: Der “Ausknopf” oben rechts
  • Lautstärketasten: befinden sich am linken Rand des iPhones – beim iPad rechts
  • Lautlos-Schalter: gleiche Position wie die Lautstärketasten
  • Sperrbildschirm: Der Bildschirm mit dem “Entsperren” Slider
  • Homescreen: Der Bildschirm mit den App Icons

Aber nun zu den Tips & Tricks:

Telefonie

  • bei einem eingehenden Anruf, den man nicht annehmen möchte, kann man die Standby Taste zwei mal drücken – man “drückt” den Anrufer weg. Wenn man stattdessen die untere der beiden Lautstärketasten drückt, wird der Anruf nicht unterbrochen, jedoch klingelt und vibriert das iPhone nicht mehr
  • Wenn man die Hometaste für einige Sekunden gedrückt hält, erscheint die Sprachsteuerung (nicht Siri!), mit der man zumindest Kontakte anrufen lassen kann
  • Während eines Telefonats kann man jederzeit den Homebutton drücken und Programme starten. Während dieser Zeit färbt sich die obere Hälfte des Bildschirms grün. Mit einem Tip darauf gelangt ihr wieder zum Telefonatsbildschirm. Sprechen könnt ihr aber während der ganzen Zeit.

Medien

  • Wenn man während der Wiedergabe von Musik und Videos auf dem iPhone den Kopfhörer Stecker abzieht, stoppt automatisch die Wiedergabe.
  • Beim iPad ist das Verhalten ähnlich, wobei hier nicht die Wiedergabe stoppt, es aber unterschiedliche Lautstärkeeinstellungen für den Kopfhörerbetrieb und den Normalbetrieb.

System

  • Wenn man die Standby und die Hometaste gleichzeitig drückt, macht man einen Screenshot (ein Bild von dem, was gerade auf dem Display zu sehen ist). Dieser wird in der Photogalerie gespeichert.
  • Man kann an jeder Stelle (außer auf dem Sperrbildschirm) doppelt die Hometaste drücken, und schon öffnet sich der Taskmanager. Dieser listet alle derzeit geöffneten Apps auf (immer 4 Stück, durch verschieben nach links erscheinen weitere usw.). Mit einem Klick auf ein App Icon wechselt man in die jeweilige App. Wenn man auf einer dieser App-Icons mit dem Finger verweilt, erscheint auf den Icons ein kleines rotes “x”. Mit diesem kann man die jeweilige App beenden.
  • Wenn man sich im Taskmanager befindet und die Apps nach RECHTS aus dem Bildschirm schiebt, erscheint die Mediensteuerung. Mit dieser könnt ihr die iPod App oder aber die App steuern, die gerade eben ein Medium abspielt. Außerdem findet man hier das Icon, um das automatische Drehen des Bildschirms beim Kippen des Geräts zu aktivieren bzw. deaktivieren. Wenn man diesen Screen nochmals nach rechts verschiebt, gelangt man zur systemweiten Lautstärkeregelung. Diese betrifft alle Medien und Spiele, jedoch nicht die Lautstärke des Klingeltones!

App Store

  • wenn man im App Store auf den letzten Tab “Updates” klickt und anschließend “gekaufte Artikel” aufruft, kann man alle Apps sehen, die man jemals mit diesem Account gekauft hat. Man kann diese auch noch so filtern, dass man nur die Apps sieht, die noch nicht auf dem iPhone/iPad drauf sind. Sehr praktisch, wenn man ein neues iDevice bekommen hat…

Timeout Funktion für jQuery Ajax / JSONP Requests

Gestern stand ich vor dem Problem, dass ich bei einem jQuery Ajax Request mit JSONP einen Timeout einbauen wollte. Alles kein Problem – man muss einfach nur den Parameter “timeout” gefolgt von einem Millisekunden Wert beim Request-Zusammenbau angeben. Jedoch wollte ich auch eine Funktion einbauen, die dem User mitteilt, dass seine Anfrage vom Server nicht beantwortet werden konnte. Prinzipiell ist dies auch mit dem jQuery Ajax Call möglich, jedoch nicht, wenn man JSONP verwendet. Es gibt aber den Umweg der allgemeinen Ajax Konfiguration, mit der man trotzdem einen Timeout und auch eine Fehlerbehandlung implementieren kann.

Nachdem ich mir aus der jQuery Doku und vielen Forenbeiträgen die einzelnen Details zusammengetragen habe, möchte ich diese hier einfach mal in gebündelter Form loswerden:

$.ajaxSetup({
    timeout: 10000,
    "error":function(XMLHttpRequest,textStatus, errorThrown) {
        if(errorThrown == "timeout") {
            alert("Ups, wir haben einen Timeout...");
        }
    }
});

Dieses Stückchen Code ist eigentlich alles, was man dazu benötigt. Führt es einfach aus, bevor der erste Ajax Call abgesetzt wird. Doch gehen wir das einfach mal einzeln durch.

$.ajaxSetup

dient der allgemeinen Konfiguration von Ajax Calls. Man kann innerhalb von $.ajaxSetup jeden Parameter verwenden, der auch bei $.ajax verwendet werden kann. Setzt man Parameter mit $.ajaxSetup, so können diese immer innerhalb des eigentlichen $.ajax Calls überschrieben werden.

Mit

timeout: 10000

setzen wir einen Timeout von 10 Sekunden. Diesen Wert kann man bei jedem einzelnen Call auch nochmal extra überschreiben.

Und am Schluss implementieren wir mit

"error":function(XMLHttpRequest,textStatus, errorThrown) {
        if(errorThrown == "timeout") {
            alert("Ups, wir haben einen Timeout...");
        }

unsere Fehlerbehandlung. Die erstellte Methode fängt dabei alle Fehler, die bei einem Ajax Call entstehen, ab. Daher habe ich an dieser Stelle auch den if-Block eingebaut, der dediziert nur meinen Timeout Fehler abfängt. Weiter Fehlernamen sind: “error”, “abort”, und “parsererror”. Im XLMHttpRequest Objekt bekommt man das Request Objekt des Ajax Calls mitgeliefert und kann so herausfinden, um welchen Call es sich eigentlich handelt.

Durch die Verwendung von $.ajaxSetup haben wir zum einen das Timeout Verhalten von Ajax Calls an einer zentralen Stelle konfiguriert, zum andern haben wir über diesen Umweg auch die Funktionalität für JSONP Requests überhaupt erst ermöglicht.