Safari 5 mit Unterstützung für Extensions

Safari 5

Safari 5 wurde vor einigen Tagen an der WWDC 2010 vorgestellt und bringt einige wünschenswerte Erweiterungen. Neben den üblichen Performance Steigerungen undbesserem HTML5 Support sticht vor allem die Möglichkeit Extensions zu installieren hervor.

Extensions

Um eine Extension zu schreiben muss man eine kostenlose Mitgliedschaft im Safari Developer Programm abschliessen denn alle Extensions werden signiert. Dies stellt ein erheblicher Sicherheitsvorteil gegenüber z.B. Firefox Extensions dar. Diese können zwar auch signiert werden, eine solche Signatur gibt es jedoch nicht von Mozilla und kostet unter Umständen mehrere hundert Dollar pro Jahr. Bereits in den ersten Tagen gab es eine beachtliche Zahl an Extensions. Apple spricht davon, selber eine Extension gallerie zu erstellen. Beispiele haben gezeigt, dass es mit sehr wenig Aufwand möglich ist, Chrome, und zum Teil auch Firefox Extensions zu protieren.

Settings

Um Extensions nutzen zu können gibt es aber noch ein paar Hürden. Zuerst muss man in den Settings im Tab Advanced das die Option Show developer menu in menu bar setzen. Danach kann man im Menu unter Develop die Option Enable Extensions aktivieren.

Enable

Safari Extensions können mit HTML5, CSS3 und JavaScript erstellt werden. Sie werden als gepackte Archive verteilt und ein Doppelklick auf die Extension Datei installiert diese.

Settings

Ein Nettes Zusatzfeature ist die Möglichkeit, grössere Artikel in einer speziellen „Reader“ Ansicht zu lesen. Dabei wird der Artikel hervorgehoben und leserlich dargestellt, der Rest der Seite wird abgedunkelt. Dies Funktioniert sogar über mehrseitige Artikel hinweg. Wenn Safari einen Artikel auf einer Seite findet, erscheint in der Adressbar ein Button «Reader». Auf Homepages scheint dies jedoch nicht zu funktionieren.

Reader Mode

Der König ist tot, es lebe Alfred

Der König ist tot, es lebe Alfred. Heute ist für mich der Tag gekommen, das geliebte aber in letzter Zeit – dank Spotlight & wegen sich ansammelnder Bugs – immer mehr vereinsamte Quicksilver zu Grabe zu tragen:

Alfred

Quicksilver war jahrelang das Killerfeature für den Mac. Es ist ein Launcher – aber nicht nur das. Mit Qucksilver kann man Shell-Commands ausführen, iTunes steuern, Systemweite Hotkeys definieren, Mails erstellen, Personen suchen, Telefonnummern in Fullscreen anzeigen, den Mac schlafen schicken, Zips packen, Dokumente selektieren, auf Google (und jeder beliebigen Webseite) suchen… Eigentlich alles.

Ein Wunder dass sich damit kein Kaffee brauen und fliegen lässt. Und, es ist kostenlos. Es gibt bis heute kein mir bekanntes Äquivalent für den PC – geschweige denn ein freies. (Dafür einige Alternativen für auf dem Mac – kein davon sagt mir persönlich zu). Leider hat der Entwickler von Quicksilver (ein google Mitarbeiter) das Projekt fallen gelassen und der Community ist es nicht gelungen, das Programm zu stabilisieren. Einer der Punkte die seit Monaten auf einen Fix warten war das Aufrufen von Quicksilver mittel Double-Command – meine bevorzugte Variante den Launcher zu starten.

Heute schlich sich über Sparkle die Beta 0.6.3 von Alfred auf mein System. Alfred ist noch recht jung und ich verfolge ihn schon seit ein paar Monaten. Bisher habe ich das Programm noch nicht gross verwendet doch mit dem heutigen Update (vielleicht auch schon vorher) hat Dopple-Command als Hotkey Einzug gehalten – und damit katapultiert es sich bei mir geradewegs vor Spotlight und Quicksilver.

Nicht nur hat es ein ansprechendes UI – abgesehen von den Prefrences – es wird auch (sehr) aktiv weiterentwickelt und wird permanent umFeatures erweitert. Und es hat einen „Don’t klick this Button“ Button.

Leider ist es noch nicht so mächtig wie Quicksilver (es beschränkt sich auf Suchen Lokal und im Internet), aber ich habe Hoffnungen dass sich dies noch verbessert.

Die vielleicht grösste JavaScript-Konferenz der Welt

jQuery Conference

Die Apfellogodichte auf dem Microsoft-Areal in Mountain View war vergangenes Wochenende überdurchschnittlich hoch. Grund dafür war die „wohl grösste JavaScript Konferenz der Welt„. An der Bay Area jQuery Konferenz 2010 war alles versammelt was Rang und Namen in der JavaScript – und insbesondere in der jQuery-Welt hat. John Resig, der Schöpfer und geistige Vater von jQuery, eröffnete die Konferenz mit ihren fast 500 Teilnehmern und danach folgen etwa dreissig Sessions – Schlag auf Schlag – randvoll mit Informationen. Johns Ansprache wurde per Livestream in den zweiten Raum übertragen – nicht alle Personen passen in den mit allen technischen Finessen ausgestatteten Raum Eins des Microsoft Conference Centers.

Attendees at jQcon

Verteilt in den zwei Räumen finden jeweils parallel 45-minütige Sessions statt. „High Performance jQuery“, durch Steve Souders, Nicholas C. Zakas und einem herausragend Robert Duffy und in drei Sessions vertreten – eines der thematischen Schwerpunkte der Konferenz.

«0.1 second is about the limit for having the user feel that the system is reacting instantaneously»

Nicholas C. Zakas

Nicholas, kein ausgesprochener jQuery-Experte, dafür aber bewaffnet mit jahrelanger Erfahrung als JavaScript Entwickler – und als Principal Frontend Engineer der Yahoo!-Homepage eine Koryphäe auf dem Gebiet – vermittelte auf äusserst eingängige Art und Weise, warum die Ausführung von JavaScript den Browser-UI Thread blockieren, und dadurch eine Webseite träge erscheinen lassen kann – und präsentierte gleich auch Lösungen, um dies zu verhindern. Des Weiteren erläuterte er auch die Problematik, welche durch die besonders CPU-lastige Neuberechnung – ein so genannter Reflow – der Seite durch JavaScript-Manipulationen entsteht und wie man solche Reflows vermeiden oder zumindest reduzieren kann.

Use the right tools for the right job

Weniger Neues – dafür aber zum Brüllen komisch – vermittelte der Brite Robert Duffy anschaulich, wie man mit wenigen Tricks die Performance von jQuery-Applikationen um ein Viellfaches verbessern kann. Durch ein witziges Beispiel seines britischen Rennwagens auf einer jQuery-gesponsorten Rennbahn vermittelte er die Prinzipien von Selektor-Caching und wie man durch richtigen Einsatz der verfügbaren Mittel – zum Beispiel durch die Verwendung von CSS-Klassen statt der show(); und hide(); Funktionen – die Performancegewinne erzielen kann. Quintessenz:

«Performance is no Rocket Science but has a massive Impact if you pay attention to the small things.»

Und die Aussage des Tages:

«Use Tables…»

Werbung ist (oft) nicht nur langweilig, sie beeinträchtigt (meist) auch die Performance der Webseite

Steve Souders at jQcon

Das war eine der Grundaussagen von Steve Souders, welcher in seinem schon oft gehaltenen Vortrag einige neue und sehr praktische Tools vorgestellt hatte. Darunter ein wohl oft übersehenes Tab „Tools“ in YSlow welches einige praktische Werkzeuge enthält – All JS Beautified, wenn man mal wieder das komprimierte Apple-JavaScipt entschlüsseln will – und eine Webseite, mit der man die Performance einer Seite in IE7 und IE8 in ausführlich testen kann. Besonders spannend daran ist die Möglichkeit, den Aufbau der Seite über Zeit in Screenshots und als Video aufzuzeichnen. Ein praktisches Tool um dem Kunden eine Performance-Verbesserung schmackhaft zu machen.

How To Manage Large Applications with jQuery

Alex Sexton präsentierte – in seinem ihm eigenen Humor – gleich drei Methoden um grosse jQuery Applikationen handbar zu machen:

  1. Nativ / Pseudo-Classical
  2. Classical
  3. Prototype Inheritance (fits into the language the best)

zusammen mit seiner Präsentation bestimmt ein (vertiefter) Blick wert.

«OO Code in JavaScript is Crippled Evented Code»

Ebenfallst eine Perle unter den Vorträgen war { Evented von Yehuda Katz. Mit seiner polarisierenden Aussage

«Don’t use OO to organize your code – There are better concepts.»

regte er viele Diskussionen an und lieferte gleich einige schlagkräftige Argumente um seine Aussage zu untermauern. Leider sind seine Slides und Beispiel noch nicht online… Nebenbei erwähnte Yehuda noch haml, sass and compas – drei Dinge die wohl ebenfalls erwähnt und beachtet werden dürfen.

«Design is not just what it looks like and feels like. Design is how it works.» Steve Jobs

Neben vielen sehr technischen Vorträgen gab es auch (vereinzelte) Ausnahmen. Die einzige Folie mit Code in der Präsentation des redegewandten Steve Smith:

jQuery.fx.speeds._default =
(
   jQuery.browser.ie &&
   jQuery.browser.version < parseInt(8,10)
) ? 0 : 200;

Steve erläuterte warum Entwickler Interaction-Design ernstnehmen sollten – und lieferte ein paar Tipps, wie man ein UI entwickeln kann, welches dem Benutzer Zuversicht schenkt, statt Misstrauen bei der Bedienung zu wecken. Zusammengefasst:

  1. Design the User Experience first
  2. Interactions are meant to
    impress the user
    impress the client
    engage and enhance
  3. Speed is important – distractions are bad
  4. It’s our job to build user confidence
  5. Don’t solve problems with code – Solve the problem, then write the code

jQuery als Browser-Standard?

jQuery Team

Zum Schluss hielt John Resig eine Rede zur Lage der Nation von jQuery in der er über geplante Features wie Script Loading und einigen offiziellen Plugins (Template- und Data Binding Plugin) Stellung nahm. Das jQuery Team und insbesondere John ist ausserdem in Gesprächen mit unterschiedlichen Browser-Herstellern um Teile von jQuery zu einem Browser-Standard zu machen:

«I’ve been talking width Mozilla, IE, Crockford, and the W3C to come up with a good result that everyone is happy with and that is shipped with Browsers»

jQuery Stats

Auf seinem triumphalen Siegeszug durch das Internet hat jQuery mittlerweile auf zwei von drei Webseiten Einzug gehalten und eine Kehrtwende ist nicht in Sicht. Diese Konferenz – mit Entwicklern aus aller Welt und aus Firmen wie google, Yahoo! und Microsoft – hat dies eindrücklich gezeigt. Die nächste jQuery Konferenz in London steht bereits vor der Türe und ich für meinen Teil kann eine Teilnahme nur empfehlen. Das geballte Know-How und die informativen und sogleich humorvollen Präsentationen sowie viele Gespräche – sowohl vor als auch nach den Sessions – das gemütliche After-Party-Bier bei angeregter Unterhaltung, die Chance neben Jay Freeman – a.k.a. Saurik, dem Entwickler des inoffiziellen iPhone-App-Stores – zu sitzen machen diese Konferenz zu einem must see.

Zum Nachschlagen

Alle Die meisten Slideshows kann man unter Speakerrate betracht. Es lohnt sich.