Der Kalender Zwanzigzehn ist Geschichte (und Spielwiese zugleich)

Vor ziemlich genau einem Jahr “erdreistete” sich Namics als Weihnachtsgeschenk einen (auf Papier!) gedruckten Kalender zu erdenken und zu produzieren. Im Zentrum stehen pro Tag ein Gedanke/Motto eines Mitarbeiters, so sinniert Sandro heute beispielsweise “Leben heisst zeichnen ohne Radiergummi”.

Und sofort gab es Stimmen, dass Papier allein wohl nicht der Weisheit letzter Schluss sei. So beispielsweise von Ralph Hutter (damals noch bei der GKB) oder von Renato Mitra vom Apfelblog. Gefragt gemacht, bastelten wir eine online Version des Kalenders auf Flickr.

Das spannende dran ist, das jeder Tag mit der Tagesnummer, Monat und Wochentag verschlatwortet ist. So gibt es nu also Antworten auf Fragen wie beispielseiweise die 13 aussieht (und spricht) – http://www.flickr.com/photos/zwanzigzehn/tags/13


2871-zwanzigzehn-tagged-13.jpg

So gibt es zwei Möglichkeiten: Entweder ein erneutes Spiel mit dem Kalender in digitaler Form oder eine saubere Archivierung.


2870-2010-archiviert.jpg

PS: Natürlich gibt es auch sauer aufgeräumte Monats-Archive z.B. für Dezember u.s.w.

Weshalb braucht es barrierefreie Angebote im Web oder die Geschichte von Martin

Der Post verweist auf Martins private Website. Martin Näf, 55 Jahre alt und seit seinem 12. Lebensjahr blind hat diesen Herbst entscheiden nicht länger zu warten, aber (wiedereinmal) auf Reise zu gehen. Diesmal nach Afrika, allein mit seinem Computer und einem Profil auf Couchsurfing um Leute und deren Kultur kennen zu lernen und auf seinem Weg zu übernachten.

Weshalb diese Geschichte? Ich engagier mich zusammen mit Namics und auch privat für zugängliche Webangebote. Webangebote vergleichbar mit einem barrierefreien / barrierenarmen Weg, der mit den alltäglichen Fähigkeiten und Fertigkeiten der Menschen, die ihn begehen möchten, auch begehbar ist: Keine physischen Höchstleistungen, keine Denksportaufgaben, keine Umwege und Zeitverluste.

Hauptgrund des Engegements ist eine private Bekanntschaft und so kenne ich auch Martin aus meiner Tätigkeit als Verwaltungsrat bei der SBS (Schweizerischen Bibliothek für Blinde, Seh- und Lesebehinderte). Für mich ist es essentiel wichtig die Menschen zu kennen, für die ich Webangebote entwickle. Deshalb lade ich Euch alle dazu ein bei Martin zu lesen, wie er als blinder Mensch seine Reise mit dem Computer organisiert und dokumentiert. Ohne Internet wäre all dies nicht möglich…

- Afrika! Langsame Annäherung an unsern so nahen und so fernen Nachbarn
- Überfahrt und erste Tage in Tanger
- Chefchaouen. Stadt in den Bergen
- Auf dem Weg nach Marrakech
- Von Marrakech nach Nouakchott

> Hier die Übersicht über die ganze Reise: Quer durch Afrika

Martin ist ein mutigerer Zeitgenosse als mancher von uns… Das Bild auf seiner Homepage zeigt dies wohl auf eindrückliche Weise. Martin ist aber ein typischer Webuser der seit der Jugend oder Geburt blind ist.

2869-martin_naef_segelschiff.jpg

Und wichtig ist mir anzumerken, dass Blindheit nur eine Ausprägung bei der Gestaltung von Angeboten (ist das Angebot grundsätzlich tauglich, anwendungsbedingte Barrieren) und dessen Repräsentation als Webangebot (behinderungsbedingte und individuelle Barrieren) ist. Die Arten der Einschränkungen und ihre Bedürfnisse (häufig auch in Kombination) sind sehr unterschiedlich und widersprechen sich teilweise auch. Zusätzlich zu nennen sind Sehbehinderung, Schwerhörigkeit, Gehörlosigkeit, motorische Einschränkungen, Lese- und Rechtschreibschwäche sowie Lern- und geistige Behinderungen.

Umso wichtiger ist es die Menschen für die man arbeitet zu kennen und in den Gestaltungs- und Testprozess einzubeziehen. Und wie ihr Euch vorstellen könnt ist es sehr spannend Martin zu kennen.

iPad publishing bei Namics

Am 07. Dezember gabs ein Kreationsmeeting der besonderen Art bei Namics.
Denis und Jana stellen ihre Erfahrungen im Umgang mit der Erstellung von iPad Magazinen vor.

Das Namics-Designer Team hört interessiert zu und experimentiert eifrig. Die neuen Möglichkeiten machen echt Spass: So lassen sich tolle, interaktive Magazine, Broschüren und Geschäftsberichte effizient erstellen. Innerhalb von kürzester Zeit sind einige interessante Ansätze entstanden.

2854-Namics-iPad-workshop.jpg

Ich glaube, die Designer sind heiss, jetzt brauchen wir noch viele Projekte dazu.
Tausend Dank an Denis und Jana – das ist erst der Anfang, da bin ich mir sicher ;-)

Wir sind gespannt!

Varnish-Cache – einer für alle

Kunde möchte eine voraussichtlich stark frequentierte Seite mit Typo3 bei sich hosten. 
Erwartet werden 5000 Benutzer gleichzeitig – die geschätzt alle 10 Sekunden klicken. Ergibt 500 Requests/s. Wir sollen die Architektur vorschlagen.

Mein Metier. Nach einer zweiwöchigen Evaluation kristallisierte sich Nginx mit FastCGI als Webserver heraus, weil der FastCGI Anfragen cachen kann und somit auf eine tolle Geschwindigkeit kommt.

Das Problem ist nicht der Cache an sich. Das Problem ist, wie Nginx damit umgeht, wenn der Cache verfällt.

Der Cache hat ein Ablaufdatum, eine Time-To-Live, TTL. Läuft diese ab, muss das HTML vom Backend neu geholt werden. Und wenn der Cache bei 500 gleichzeitigen Anfragen pro Sekunde abläuft, muss das HTML 500 mal gleichzeitig vom Backend geholt werden. Schönä!

2842-face down.png

Ich habe verschiedene Reverse-Proxies ausprobiert. Unter anderem den Varnish-Cache. Und der hat eine Besonderheit, die ich sonst bei keinem Cache finde:

When several clients are requesting the same page Varnish will send one request to the backend and place the others on hold while fetching one copy from the back end. (Source)

2844-face up-thumb-500x264-2843.png

Ich beglücke den Webserver mit 5000 Benutzern. Gleichzeitig.

5000 Benutzer prasseln auf den Server. Nach einer Minute wird _eine_ Anfrage an den Webserver geschickt – die 5000 Benutzer werden weiterhin mit dem „alten” Inhalt bedient.
Die Antwort kommt, der Cache wird erneuert und von jetzt an wird der neue Inhalt an die 5000 Benutzer ausgeliefert.

So sieht die Aktivität auf dem Server aus:

2845-varnish_protects.png

Genau ein httpd ist am schwitzen, und nicht fünfzig. Und der varnishd tobt sich aus…

So sieht meine Netzwerkauslastung aus:

2846-bw.png

I can haz more bandwidth?

Zwei Proxysniffer im Verbund auf Vollgas. Schampar schade dass unser Netzwerk nicht mehr als 800MBit hergeben will:

2848-AnalyseLoadtestResultTotalNetworkImageWeblet-thumb-500x255-2847.gif

Ça fait rock.

Und der Varnish lässt sich unendlich flexibel konfigurieren. Ich kann z.B. anhand der URL Anfragen auf unterschiedliche Backends leiten, mehrere Backends mit einer gewichteten Lastverteilung aufstellen und und und…

Ein Beispiel.

backend crappy_j2ee_enterprise_grüselapp {
    .host = "server.example.com";
    .first_byte_timeout = 5s;
    .max_connections = 10;
    .probe = {
        .url = "/check.jsp";
        .interval = 5s;
        .timeout = 1s;
        .window = 5;
        .threshold = 3;
    }
}

Das Backend wird alle 5 Sekunden vom Varnish angefragt (interval). Von 5 Anfragen (window) müssen 3 korrekt sein (threshold) und unter 1s antworten (timeout).

Ist dies nicht der Fall, bekommt das Backend den Status „unhealthy” verpasst. Jetzt liegt es an der Konfiguration, was jetzt passiert.

if (! req.backend.healthy) {
    set req.grace = 30d;
} else {
    set req.grace = 1m;
}

Ist das Backend nicht verfügbar, wird es für 30 Tage nicht mehr angefragt bei einem User-Request, auch wenn die TTL für die Seite abgelaufen ist. Der Health-Check läuft normal weiter.

#renew content every minute
set beresp.ttl = 1m;

#save content for 30 days - if backend fails
set beresp.grace = 30d;

Nach einer Minute wird der Webserver nach neuen Inhalten abgefragt. Die Antwort wird 30 Tage lang gespeichert – sollte der Webserver abliegen, kann die Website noch 30 Tage lang von dieser Notration überleben.

Und das ist toll – ich kann meine Apache’s stoppen. Ein paar Benutzer haben Pech – in den maximal 5 Sekunden, bis Varnish das merkt und das Backend als ungesund deklariert. Aber dann läuft alles wie gewohnt weiter. Sobald die Webserver wieder da sind, werden die Cache-Inhalte erneuert.

Voraussetzung für den ganzen Gspass ist natürlich eine statische Seite ohne personalisierte Inhalte.

Man könnte es noch auf die Spitze treiben mit dem Caching und für verschiedene Inhalte eigene TTLs definieren:

2849-esi.png

Did you know? Wikileaks setzt auch auf Varnish:

2850-varnishleaks.png

Ich weiss nicht wie viel Traffic Varnish wirklich verarbeiten kann. Aber ganz offensichtlich mehr als 10 Gigabit:

2852-Bildschirmfoto 2010-12-17 um 10.58.07-thumb-500x185-2851.png

http://twitter.com/wikileaks/status/9609091915718656

http://www.varnish-cache.org/

Eindrücklich: Body Browser von Google

Das Ziel von HTML 5 (Abstand, gell Schnitzel) mit weniger Browser-Erweiterungen (PlugIns) auszukommen beginnt Formen anzunehmen. Die folgende Technologie-Demo von Google zeigt die Mächtigkeit von WebGL (3D Grafik-API als Teil des Canvas-Elementes): Google Body Browser.

Die schlechte Nachricht vorab. WebGL ist erst in sehr wenigen Browser(versionen) verfügbar. Konkret (nach meinem Wissen) im Firefox 4 Beta und ab der aktuellsten Version von Google Chrome. Bei beiden Browsern muss die Funktion zusätzlich aber aktiviert werden:

Firefox 4 Beta – Eingabe von about:config in der Adresszeile und dann…

2840-firefox_about_config.jpg

Google Chrome: Eingabe von about:flags in der Adresszeile und dann…

2841-chrome_about_flags.jpg

Womit man dann aber belohnt wird ist eindrücklich. Eine “zommbare” Vektorgraphik verschiedener Detailebene des menschlichen Körpers mit einer Navigation im Stil von Google Earth. Alles “nur” mit HTML 5.

2838-Body_Browser_2-thumb-500x455-2837.jpg

Und weil es so schön ist, hier noch ein Bild der integrierten Suchfunktion, welche den Körper mit entsprechenden Labels versieht.

2835-Body_Browser_1-thumb-500x455-2834.jpg

Und jetzt ausprobieren: Google Body Browser.