Last minute

danmark

So soll das Haus aussehen, dass ich heute gebucht habe, last minute, in Dänemark. Die Kollegen fragten, ob man im Herbst nicht eher in den Süden fliegen würde, anstatt ans Nordkap zu fahren. Naja, seh‘ ich anders.

Twitter Election 2008

We’re filtering hundreds of Twitter updates per minute to create a new source for gathering public opinion about the presidential election and a new way for you to share your thoughts.

Jetzt wird wieder in die Hände gespuckt…

ben [Unterstrich] haut mal wieder auf die Kacke:

Als Erstes: Bis vorgestern hatte ich hier eine (Die Jüngeren unter euch jetzt bitte nur unter Beobachtung Erwachsener weiterlesen!) blinde Tabelle im Einsatz. Weil ich nicht einsehen wollte, dass es verwerflicher ist eine kompliziert Technologie zu misbrauchen als eine einfachere Technologie zu mißbrauchen. Defakto bietet nämlich bis heute CSS keine semantisch korrekten Werkzeuge um Spaltigkeit herzustellen. Beim „Floaten“ verrät schon der Name, wo der Hase tot im Feld liegt und die ganze Postionaboluterei kann ja wohl nicht ernst gemeint sein. Da kann ich auch eine blinde Tabelle nutzen. Gewurmt hat es mich aber doch und weil Yaml von Marc als die Ultima Ration aller Crossbrowerprobleme gelobt wurde, dachte ich mir zwei Eier mit einer Fliegenklatsch zu erschlagen.

…und schickt sich an, ein PHP-CSS-Framework zu basteln:

Die meisten Leute vergessen ja wozu PHP geschaffen wurde – als Templatesprache. PHP ist auch scheißegal was man da rauspumpt. HTML ist zwar default. Aber XML oooder eben CSS geht genauso gut. header(”Content-Type: text/css”); und jeder Browser ist glücklich und zufrieden mit einer PHP-Datei als CSS. Und mir ist nichts menschliches fremd. Völlig ruhigen Gewissens gebe ich schließlich auch <?=$allesMögliche?> aus. Und wie ich so am Drübernachdenken war, wie man das noch geiler verweben könnte, fiel mir ein dass man CSS einfach mal gleich durch eine PHP-Klasse ersetzen und dann einfach rausrendern kann. So wie HTML_QuickForm oder Drupals Form-API – die sich beide sehr bewährt haben. Das probier ich aus. Das macht bestimmt Spaß. Aber nicht mehr heute. Morgen ist ja auch noch ein Tag.

OK, Sprichworte verdrechseln können wir auch. Harhar, mein Compagniero, da hätte ich auch ein paar Additions zu machen, schau lieber vorher in die orangenen Seiten und frag jemanden, der da schon von gehört hat. Das Kaninchen liegt bei der Performance im Paprika! Ein Caching-Mechanismus muss her und Browsererkennung, und zwar mit Automatik, das Programm muss wissen, wann es zu Double-Margin-Bugs kommt und automatisch zur Korrektur greifen.

Leider schüttet man da natürlich das Bad mit dem gerade zu heiß gebadetem Kinde aus, denn dann übernehmen irgendwann die Programmierer das Ruder und CSS ist nicht mehr CSS. Aber auch da fallen mir wieder Anwendungsszenarien ein.

Understanding Disabilities when Designing a Website

The WCAG Guidelines, introduced in 1999, go some way to helping web developers create accessible websites—but …we must look further than the guidelines if we are to create websites which are accessible to users with disabilities and the assistive technologies they rely on.

Clever CleverCSS

In welcher Reihenfolge man CSS-Eigenschaften notieren soll, haben wir nun wohl genug diskutiert, kommen wir nun zu etwas völlig anderem: programmiertes CSS.

Hatte schon die Idee (in Webkit bereits testweise implmentiert) von Konstanten in CSS die Welt in Aufregung versetzt, dürfte man CleverCSS – the pythonic way of webdesign als die endgültige Gotteslästerung betrachten. Um es kurz zu machen zitiere ich flugs:

CleverCSS is a small markup language for CSS inspired by Python that can be used to build a style sheet in a clean and structured way. In many ways it’s cleaner and more powerful than CSS2 is.

Hmmm… pythonic, das könnte meinem Wunsch nach Formatierung und Sauberkeit doch entgegenkommen. Und CleverCSS kann einige witzige Sachen, ausser einfach CSS wieder raus zu printen. Bspw. gibt es einen grouping operator, der Attribute zu Gruppen zusammenfasst. So:

#main p
  font->
    family: Verdana, sans-serif
    size: 1.1em
    style: italic

Ausgegeben würde hierfür:

#main p {
    font-family: Verdana, sans-serif;
    font-size: 1.1em;
    font-style: italic;
}

Mal bitte, das ist ja lustig. Und dann wirds spannend, CleverCSS beherrscht natürlich Konstanten, um z.B. Farbwerte einmalig festzulegen und editierbar zu machen. Ich weiß schon, nichts, was man nicht auch mit suchen & ersetzen erschlagen kann… nur, CleverCSS kann damit auch ein wenig rechnen:

background-position: $foo + 2 + 3 $foo - 2

Das täte background-position: 15 8; ergeben. Mit CleverCSS kann man beinahe richtig rechen, sogar mit Farben (#fff - #ccc => #333333). Und als wär das nicht schon genug: es gibt auch noch einen ganzen Satz Methoden, wie Number.abs(), String.length(delimiter), Color.brighten(amount) oder String.split(). Klingt doch spannend.

Allen Features zum Trotze muss man natürlich die Frage nach dem Sinn stellen. Ehrlich gesagt: weiss ich noch nicht. Fällt mir aber sicherlich noch ein. Zusammenhänge könnten Frameworks, Templatesysteme, …, ja was?

Prädikat: unbedingt mal runterladen und ausprobieren.