dogfood

Category: Life (page 5 of 9)

Herr Pahl, was machen Sie eigentlich beruflich?

Das ist tatsächlich eine bannig diffizile Frage, weil sie viele Antworten kennt, je nach Adressat und damit: je nach Differenzierung.

Beginner Level, zum Beispiel für meine verrentete Nachbarin oder nicht-technik-affine Verwandte:

Ich mach so Internet-Zeug. Websites und so

Medium Level, z.B. für Ärzte, bei denen man nicht sicher ist, ob es genuines Interesse oder die implizite Frage nach Liquidität und Einkommensverhältnissen ist.

Ich bin selbständig und arbeite innerhalb von Projektteams für Zeiträume von 3 bis 24 Monaten an größeren Websites. Dabei geht es um die Mitwirkung an Konzepten und Umsetzung von Designs für das sogenannte Frontend, also grob gesagt, das was der User im Browser sehen und bedienen kann.

Das reicht aber nicht für den Experten-Level, für potentielle Auftraggeber oder Projektmanager, aus. Mit inzwischen 20 Jahren Erfahrung auf dem Buckel, liegt mein Mehrwert oberhalb der bloßen Umsetzung von Frontend-Zeug.

Chris Coyier hat im Oktober in seinem Blogeintrag „The Widening Responsibility for Front-End Developers“ viele Fragen und Überlegungen aus seinem Projektalltag angerissen. Sie machen deutlich, wie komplex inzwischen der Weg von Konzept → Design → Umsetzung geworden ist. Das bildet auch meinen Projektalltag wieder.

Wenn Designs und Konzepte das erste Mal aufschlagen, fehlt es ihnen an „Praktikabilität“ und können daher nicht direkt in Code umgesetzt werden. Responsives Design (also anpassungsfähig an unterschiedliche Browser, Browserbreiten und Endgeräten) sind häufig ebenso nur Lippenbekenntnisse wie die Berücksichtigung von Barrierefreiheit-Anforderungen.

Designs werden häufig als komplette Seiten und nicht als wiederverwendbare Bausteine entwickelt. Es gibt auf Designseite häufig weder das Wissen noch die Werkzeuge für diesen „Komponenten-Gedanken“.

Und so besteht ein Teil des Jobs darin, schon vor dem Schreiben der ersten Zeile Code, auf Designs und Konzepte Einfluß zu nehmen. Zum Beispiel darauf zu drängen, dass Seiten systematisch und auf Bausteine-Basis aufgebaut werden. Es ist auch im Sinne des Kunden, wenn nicht jeder Seitentyp seiner Website von Grund auf, neu entwickelt werden muss (wir reden hier nicht über Portfolio-Websites, sondern Websites mit drei- bis fünfstelligen Seitenzahlen).

Ein Teil des Jobs ist, jedes vorgestellte Design auf die Umsetzungsfähigkeit abzuklopfen, bevor das Coding beginnt. Dazu gehört auch die gerne vernachlässigte Frage, wie sich die Komponente verhält, wenn es nicht die „ideale“ Menge an Content gibt. Was passiert bei einer langen Headline? Bei einer Copy, die nur aus einem Satz besteht? Wenn die Nutzungsrechte für das Bild abgelaufen sind?

Funktional erlebe ich es immer wieder, dass es in den Designs Probleme im Umgang zwischen Touch- und Non-Touchdevices gibt. Zum Beispiel wenn es Funktionalitäten gibt, die zwingend auf Hover per Maus angewiesen ist. Oder es wird fälschlicherweise angenommen, dass Browserbreiten mit der Unterscheidung zwischen Tisch- und Tabletgeräten einhergeht (nope, größere Tablets sind inzwischen breiter als schmale Laptops und bei Geräten wie MS Surface verwischt die Grenzziehung komplett).

An der Nahtstelle zwischen Design und Konzeption stehen auch Fragen der Umsetzung im Zusammenhang mit der verwendeten Software auf dem Server. Wenn es zwei ähnliche Komponenten gibt, ist es sinnvoll sie als zwei Komponenten getrennt anzulegen, oder handelt es sich um eine einzige Komponente mit zwei Ausprägungen? Was lässt sich mit der Serversoftware besser abbilden?

Vor der Umsetzung steht dann die Etablierung eines Workflows für die Umsetzung. Welche Werkzeuge werden genutzt, welche Rahmenbedingungen werden geschaffen, welche „Code-Regeln“ werden aufgestellt. SCSS? Semantische Klassen im HTML? Icons umsetzen als… Icon-Fonts, Inline-SVG oder SVG-Sprites?

Dazu gehört auch die Beratung mit dem Backend, wie sich z.B. die Kommunikation bei Serveranfragen durch den Browser gestaltet.


Projekte dieser Größenordnung haben mehrere Interessenten. Kommunikation ist ein Teil des Jobs: Interessenten wollen und müssen abgeholt werden. Es muss zwischen den unterschiedlichen Interessen vermittelt werden. Am Ende des Tages gibt es aber nur einen Interessenten, der die Rechnung zahlt. Die Kommunikation muss daher auch darauf ausgerichtet sein, dass seine Interessen gewahrt werden.


I apologize if I’ve made you feel a little anxious reading this. If you feel like you’re behind in understanding all this stuff, you aren’t alone.

In fact, I don’t think I’ve talked to a single developer who told me they felt entirely comfortable with the entire world of building websites. Everybody has weak spots or entire areas where they just don’t know the first dang thing. You not only can specialize, but specializing is a pretty good idea, and I think you will end up specializing to some degree whether you plan to or not.

Irgendwann in den Nuller Jahren, war ich mir nicht sicher, ob „Webdesigner“ ein Job mit Zukunft wäre. Agenturen gingen aggressiv auf den Markt um mit in Microsoft Word(!!) produzierten Websites Kunden zu ködern. Die Hamburger Arbeitsagentur hat damals massenweise arbeitslose Druckerei-Mitarbeiter in Webdesign-Fortbildungskurse gepackt. In meinen Alpträumen, sah ich irgendwelche Kinder von Firmenchefs am Rechner mit WYSIWYG-Editoren wie Frontpage herumspielen und mich aus dem Business schießen.

So ist es bislang nicht gekommen – weil mein Job mehr umfasst, als man es Laien in nur drei Sätzen erklären kann. Weil mein Job mehr als nur „Umsetzung“ ist und „Berater“ und „Konzepter“-Tätigkeiten beinhaltet. Weil der Job eben nicht nur aus „Nine to Five“ besteht, sondern aus dem Blick über den Tellerrand: was für relevante Technologien gibt es? Wird jQuery wirklich noch gebraucht? Was für Themen kommen in den nächsten Jahren?

Coyiers Blogeintrag macht schon durch die schiere Menge an Fragen deutlich, dass man auch dann genügend auf der Pfanne haben kann, wenn man kein sogenannter „Fullstack-Entwickler“ ist, der die komplette Bandbreite von Server bis Frontend/Browser abdeckt.

Coyiers Blogeintrag macht mir aber auch die Frage bewusst, wie man all diese Detailsfragen und Soft-Skills gegenüber potentiellen Auftraggeber anbringen kann, ohne dass man einen zehnseitigen Aufsatz schreibt. Sondern in eine Form bringt, die gleichberechtigt neben der tabellarischen Aufstellung der rein technischen Skills bestehen kann.

Was war. Vor Weihnachten.

In zwei Worten zusammengefasst: viel Müdigkeit.

In den letzten zweieinhalb Wochen ging es nur noch darum irgendwie durchzukommen und Dinge gewuppt zu bekommen. Mit der vorläufig letzten „Deadline-relevante“ Videokonferenz am letzten Donnerstag ist so einiges abgefallen und seit dem werden die Akkus wieder aufgeladen.

Things I worked on.

In der letzten Woche ist ein drittes Projekt aufgegleist worden und alle drei Projekte werden noch für 2–3 Wochen parallel laufen – was insofern machbar ist, da die Arbeit am dritten Projekt anfangs noch den Schwerpunkt der Bestandsaufnahme, Konzeption und Strategie hat.

Das dritte Projekte ist vor etlichen Monaten gestartet worden. Spannend: im Frontend geht es an etlichen Punkten gegen meine „Best Practices“. Ich besitze nicht die Hybris, später in einem Projekt einzusteigen und automatisch dort alles in Frage zu stellen, was nicht meinen „Best Practices“ entspricht. Vielmehr ist es Gelegenheit, mal seine eigenen „Best Practices“ zu hinterfragen. Und dort wo die eigenen „Best Practices“ dann noch Bestand haben, ob und wie man sie in einem bereits laufenden Projekt integriert.

Bei der Verwendung der Maßeinheit rem statt Pixel habe ich mich inzwischen überzeugen lassen. Tatsächlich gehör(t)e ich die letzten Jahre der Fraktion „Browsers handle all the font zooming for us, so we don’t have to convert our typography to relative units in CSS.“ an.

Der Artikel von Kathleen McMahon „Pixels vs. Relative Units in CSS: why it’s still a big deal“ nimmt das sehr schön auseinander und führt plastisch vor, wo die Probleme von Pixel vs rem sind: es ist nicht der klassische Browser-Zoom, sondern die Einstellung der Default-Schriftgröße im Browser, wo die Maßeinheit Pixel ins Schwimmen kommt.

Das Problem, das ich mit rem habe: es macht den Code unleserlich. Anstatt eine Schriftgröße von 13 Pixel einzutragen, steht dort 0.813rem. Du liest margin-bottom: 3.438rem; – und denkst dir nur noch WTF?

Das SCSS-Lesen wird so zu einem permanenten Übersetzungsprozess im Kopf, zumal alle Kommunikation über Design und alle Javascript-basierenden Berechnungen weiterhin in Pixel stattfinden und der Browser zudem bei den ganzen krummen Pixelzahlen, Rundungsfehler einführt.

Aber Barrierefreiheit ist Trumpf und so verschiebt sich die Fragestellung eher in die Richtung, wie man das Tooling (und Design?) verändern kann, um die negativen Konsequenzen aus der Verwendung von rem abzufedern. Mein erster Gedanke geht in Richtung Mixins, die die Angabe von Pixel erlauben und rem ausspucken – ganz banal.


Das Projekt triggert auch weiteres Nachdenken über Markup- und CSS-Strukturen an. Mich beschäftigt immer noch die wachsende Popularität von „funktionalen CSS“ in der „State of CSS 2020“-Umfrage, die ich vor allem auf das Wachstum von Komponenten in React und Co. zurückführe.

Ich sehe mich in der „Seperation of Concerns“-Fraktion und befürworte semantische Klassen-Auszeichnungen. Adam Wathan hat 2017 in einem Blogeintrag beschrieben, wie er sich über mehrere Etappen in einen Befürworter von funktionalem CSS gewandelt hat: „CSS Utility Classes and ‘Separation of Concerns’“ – 2017, das war bevor Adam mit der Entwicklung von Tailwind CSS angefangen hat, womit klar sein dürfte, dass er seine Position in Sachen Funktionales CSS nicht geändert hat.

Adams etappenweise Wandlung im 2017er-Blogeintrag hat mich gut nachvollziehen lassen, wo eigentlich mein Delta zu ihm und funktionales CSS anfängt: die Verwendung von Komponenten unter Ignoranz jeglichen Kontextes.

Das wird im Text im Abschnitt „Dealing with similar components“ deutlich, bei der er semantisches CSS gegen die Wand fahren lässt, weil es ihm nicht gelingt zwei strukturell identische bzw. sehr ähnliche Komponenten so zu verheiraten, dass eine Ausspielung mit unterschiedlicher Optik gelingt, ohne Code-Duplizierung einzuführen.

Wer sehr eng in Komponenten denkt, sieht als einzigen Weg zur Abbildung des Kontextes in einer Komponente, das Erstellen einer Komponenten-Variante, z.B. durch Hinzufügen einer Modifier-Klasse. Meiner Erfahrung nach, reicht es in Atomic Design, den Kontext über Selektoren-Ketten anzusprechen. Bei adäquaten Klassennamen und Verwendung von BEM, muss die Specifity dabei nicht außer Kontrolle geraten.

Aus meiner Erfahrung in Projekten mit Enterprise-CMS-Lösungen ist die von ihm aufgezeigte Lösung mit funktionalem CSS nicht machbar, weil Komponenten in unterschiedlichen Kontexten wieder verwendet werden. Und dieser Kontext ist auch für ein Teil des Aussehens der Komponente verantwortlich. „Funktionales CSS“ wird damit nicht mehr zu einer CSS-Frage, sondern eskaliert sich fröhlich in Richtung Markup, Templating, Content-Strukturen, Java-Klassen und Editoren-Oberfläche.

Bei großen und langwierigen Projekten besteht der Job nicht nur in der Umsetzung von Designs, sondern auch im Steuern des Designs. Zumindest in meiner Realität bewegen sich die Designer noch recht losgelöst von Komponentenzuschnitten und Markup-Realitäten. Und ein Teil des Jobs besteht darin, den Projekt-Stakeholdern klar zu machen, dass wir einen Satz von Lego-Bausteinen haben, mit dem wir bauen und nicht für jedes neue Modul neue Lego-Bausteine produziert werden sollen. Dies hat Implikationen für Kosten, Timings und Wartbarkeit von bestehenden Code. Und diese Message wird in Projekten gehört und häufig genug akzeptiert.

In meiner Projektwirklichkeit wirkt „Funktionales CSS“ wie ein kleines Heftpflasterchen für tiefer sitzende Probleme.

Things I played.

Ich habe auf der Konsole versucht mit „Spiderman“ wieder anzufangen und die Demo von „Dishonored 2“ zu spielen – beides aber wieder schnell abgebrochen.

Ich fange langsam an zu verstehen, was mich derzeit bei Videospielen abtörnt.

  • Komplexe Controller-Schemen, die eine Einarbeitungs/Trainingszeit brauchen. Jeez, ich will mich für ein Spiel nicht eintrainieren müssen
  • Fehlende Tutorials. Zum Beispiel bei Spiderman wirst du gleich atemlos in die Action reingeschickt, ohne dass du entspannt die Controller-Schemen dir anlernen kannst. Drei Minuten lang darfst du im laufenden Kampf fünf, sechs Button-Kombinationen lernen und dann wirst du gleich zur nächsten Station geschickt, wo du die nächsten fünf Tastenkombinationen um die Ohren gehauen bekommst.
  • Anspannung. Bei Dishonored 2 war mir das Schleichen und die Gefahr entdeckt zu werden, zu stressig. Zumindest für ein „mal eben am Abend ein halbes Stündchen spielen wollen“-Spiel.
    Es ist ja nicht so, dass man in Rez nicht sterben würde und dann komplett Game Over ist. Aber hier hat sich das anders angefühlt. Keine Ahnung…

Things I did.

Grundsätzlich versuche ich die Dinge wieder aufzunehmen, die ich seit Ende November sukzessive loslassen musste. Mehr Muße an den Tag legen. Die Meditationen wieder aufnehmen. Wieder intensiver kochen. Verstärkt Baustellen in der Wohnung angehen.

Am letzten Sonntag habe ich vor dem Fernseher hingesetzt und mehrere Stunden ziellos durch die 300 Kabelkanäle durch gezappt. Und es hat sich erholsam angefühlt.

Things I listened to.

Der Soundtrack zum „Area X“-Level von „Rez Infinite“ (YouTube).

Was war. Anfang Dezember

Jesus. Fucking. Christ. Sind schon wieder vier Wochen um?

Nach dem ich vor ein paar Wochen Geburtstag hatte, habe ich die eMails meiner französischen Verwandtschaft alle brav beantwortet. Zur Beschreibung meines derzeitigen Alltags habe ich in den eMails den gleichen Textbaustein verwendet: Jeden Tag zwar keine „Métro“, aber „Boulot“ und „Dodo“.

Die Tage haben sich im Laufe der letzten zwei, drei Monate trichterförmig verengt. Die Tage haben sich verkürzt. Das Wetter ist ungemütlich geworden. Ablenkung durch Museen, Kinos etc… is‘ nicht. Der Meditationskurs ist von Präsenzunterricht auf Zoom geschwenkt. Die Psychotherapeutin ist seit Oktober krank. Gleichzeitig braucht die Arbeit derzeit eine höhere Schlagzahl.

Im Gegenzug fallen links und rechts die meisten außerberuflichen Interessen ab. Garten? Kannste bei dem Wetter nix machen. Dazu eine akute Unlust Filme oder TV-Serien zu gucken, Sport in größeren Mengen zu konsumieren oder Comics zu lesen.

Intellektuell weiß ich, dass die Monotonie aus Arbeit, Schlafen, Lesen am iPad und Nachdenken über Achtsamkeit über einen längeren Zeitraum straight in die Sackgasse führt. Aber jedesmal wenn ich emotional meine Checkliste durchgehe „Und? Willste jetzt ‘nen Comic lesen? Willste jetzt Radfahren? Buch? Konsole? Die restlichen sechs Spieltage des Mitre 10-Cups? Zeichnen?“ … winke ich ab. Hier ein bisschen Haushalt, dort ein bisschen Kochen. Oh, wieder ein Zahnarzt-Termin?

Jo. Irgendwie muss ich mich da durch lavieren. Ich gehe davon aus, dass sich bis März nichts substantiell ändern wird.

Things I listened to.

Die klare Nummer Eins der letzten Wochen: Opposite People“ von Newen Afrobeat ft Seun Kuti & Cheick Tidiane Seck (YouTube).

Das Ding wurde mir als Empfehlung vom ach so verrufenen YouTube Algorithmus reingespült. Dreizehn Minuten großartiger Afro-Beat mit Fela Kuti-DNA. Ganz groß: neun Minuten lang wichst einer/eine nach dem/der anderen ein Solo runter, bevor das erste Mal gesungen wird.

Der Schlagzeuger sieht wie ein achtzehnjähriger Milchbubi frisch vor seinem Antritt zum BWL-Studium aus, und bringt die Drums so speziell auf den Punkt, das ist sooo groß. Was Cheick Tidiane Seck da beim Solo an den Keyboards macht, ist ganz, ganz famos.

Mit klaren Abstand kommt dahinter auf Platz 2 Immer wenn ich high bin (YouTube), eine ältere Nummer von Marsimoto ft Walking Trett.

Things I played.

Ich habe die eine oder andere Stunde mit „Rimworld“ weiter gemacht. Die Drei-Frauen-Kolonie hat inzwischen Zuwachs in Form einer vierten Frau bekommen – einer „Wilden“, die draußen umherirrte, ehe sie wegen Unterkühlung kollabierte. Ich schickte einen Rettungstrupp los und pflegte sie wieder gesund, worauf sie sich der Gruppe anschloss.

Inzwischen habe ich das Geschäftsmodell „Kartoffeln in der nächsten Siedlung verkaufen“ entdeckt. Bald bricht der erste Winter an.

Things I did.

Die neuen Sichtschutzblenden sind immer noch nicht aufgebaut. Bei einem der Herbststürme ist mir eine der neuen Sichtschutzblenden, die nur angelehnt waren, auf den Boden geweht worden. Dabei ist die Bodenleiste kaputt gegangen und zeigte einige morsche Stellen. Ich habe die Leiste inzwischen geschient und teilweise zugespachtelt. Das geschah allerdings während der letzten wärmeren Tage. Seitdem ist es zu kalt um die Blenden zu lasieren.

Läuft.

Things I worked on.

Derzeit laufen zwei größere Projekte parallel und das wird für zirka zehn Tage noch weiter so bleiben. Dabei ist es günstig, dass das zweite Projekt „transatlantisch“ ist und die Video-Konferenzen zeitlich ostküstenkompatibel gelegt werden und damit dem ersten Projekt zeitlich aus dem Weg gehen. Inzwischen habe ich meine Notifications auch so eingestellt, dass ich nicht mehr um drei Uhr nachts aus dem Schlaf gerissen werde, weil jemand in den USA ein Ticket im Board eine Spalte weiter schiebt …

Das erste Quartal 2021 sieht soweit eingetütet aus, dass ich mein morgiges Gespräch mit dem Kieferchirurgen halbwegs entspannt entgegensehen kann.

Things I read.

„State of CSS 2020“ – die alljährliche Umfrage unter Webentwickler zum Stand der Dinge in Sachen CSS. Ich lese solche Auswertungen gerne, um ein Gefühl zu bekommen, was Themen und Trends sind (und ob ich irgendwelche größeren Wissenslücken habe).

Dieses Jahr hat es zwei Datenpunkte gegeben, die mich zweifeln lassen, ob die Entwickler wirklich wussten, was sie da angekreuzt haben. Da behaupten 22,4% aller Entwickler, sie hätten schon einmal aspect-ratio eingesetzt, obwohl das Feature erst seit Sommer 2020 in Firefox und Chrome drin ist und durch eine Flag erst explizit vom Entwickler eingeschaltet werden muss.

Sogar weit über 80% der eher aus USA und Westeuropa stammenden Entwickler behaupten, sie hätten line-break eingesetzt – ein Feature welches nur im Kontext von asiatischen Sprachen sinnvoll eingesetzt wird. Hmmmm…

Zwei Trends habe ich aus der Umfrage extrahiert. Die Zeit der großen CSS-Frameworks ist vorbei. Bootstrap verliert stark und Foundation schmiert sogar massiv ab.

Wovon ich kein großer Freund bin: Atomic CSS und Tailwind CSS (ein populärer Vertreter von Atomic CSS) nehmen recht massiv Fahrt auf. Ich frage mich, inwieweit dieser Trend der schwachen Designs bzw. Design-Strategien geschuldet ist. Mir scheint auf Seiten der Designer|innen und/oder Product-Owner die Denkweise von wiederverwendbare Komponenten unterentwickelt zu sein. Kein Wunder, dass Entwickler dann glauben, sie könnten mehr oder weniger direkt, die CSS-Anweisungen ins Markup kippen.

Dies ist einerseits ein Know-How/Kompetenz-Problem der Frontend-Designer (was, ich wiederhole mich, zehn Jahre nach Einführung des Begriffes „Responsive Web Design“ ein Offenbarungseid für die Branche ist). Andererseits ist es ein Zeitproblem. Spätestens mit der zweiten Korrekturphase drückt die Deadline so sehr, dass Designer|innen ihre bis dato saubere Sketch-Datei verunstalten.

(Jo, meine Welt, zumindest per Jahresumsatz, ist die Welt der Websites mit einer drei- bis fünfstelligen Zahl an Seiten und Enterprise-CMS)


Zenko Mapping von John V. Willshire/Smithery.

Ein sehr angenehmer, kurzer Video-Vortrag von Willshire, den ich auch deswegen so toll fand, weil er auf mehreren Meta-Ebenen funktionierte und eben nicht nur zielgerichtet auf die Präsentation seines Mapping-Tools „Zenko“ ausgerichtet war.

„Zenko“ ist eine Art Visualisierung für Projektstrategien und Entscheidungsoptionen: Wo stehen wir? Was brauchen wir jetzt, um zu entscheiden wo wir hin wollen?

Dabei verwendet Willshire eine Matrix mit einem 3×3 Raster.

Auf der x-Achse von links nach rechts: „Team“, „Qual“ und „Quant“ – eine zunehmende Zahl von „People“ die Einfluß auf das Projekt nehmen. „Qual“ steht für qualitativen Input über Forschung und Umfragen. „Quant“ steht für quantitativen Input durch Statistiken oder Analytics.

Auf der y-Achse von unten nach oben: „Sketch“, „Scaffold“ und „Structure“ der „Reifegrad“ oder Aufwand für das Produkt bzw. Projekt. Von Skizze hin bis zur stabilen, ausgereiften Struktur.

Projekte fangen unten links mit der Frage an: zuerst das Team einen Prototypen basteln lassen oder Recherche starten?

Man kann sich einen Nachmittag mit den Vorträgen und den Texten von Willshire vergnügen.

The Pattern Problem

  • An example becomes a lesson
  • A lesson becomes a method
  • A method becomes a practice
  • A practice becomes a doctrine
  • A doctrine becomes death

Das ist Willshires großes Thema: Werkzeuge für steten Input und Perspektivwechsel.

Information is not liquid, but light

Information ist keine Flüssigkeit, die man umleiten oder in Container füllen kann. Information ist wie ein Licht: sie ist da. Der richtige Weg ist daher, sich der Information zu öffnen oder aus einem anderen Winkel zu betrachten.

Build your own tools. Tools which naturally reinvent themselves. Tools which change behaviour, not simply repeat it.

Willshire benützt dazu häufig verschiedene Formen von Spielkarten-Sets, die auf dem Prinzip beruhen, dass man mit einer zufälligen Kombination von Theorien, Fakten und Ereignissen konfrontiert wird, die dann weitergesponnen werden sollen.

The quickest path to innovation lies in making novel connections

Create → Connect → Reorder

Deal → Shuffle → Order → Stack → Turn → Spread → Rearrange

Was war. Anfang November

Auch in der ersten November-Woche habe ich die Tage nicht zufriedenstellend aufgegleist bekommen. Die Zeit rennt davon, während man die To-Do-Liste in der Kopf abarbeitet. Unter der Woche wird vieles nach hinten geschoben und am Wochenende kommt das nach Hinten geschobene dran und lässt andere Dinge hinten rüber fallen (derzeit: Comics).

Dazu kommt eine gehörige Portion durch die US-Wahl getriggertes „Doom-Scrolling“, das auch überraschend weite Teile meines Umfeldes ergriff.

Things I worked on.

Momentan wird im Hintergrund an den Weichenstellungen für Kundenprojekte der ersten 2021-Wochen und -Monaten gewerkelt. Da sind im Laufe der letzten Woche alle Farben dabei gewesen: rot, gelb und grün.

Von einer Kundin verabschiede ich mich nach fast 20 Jahren, weil sie zum Jahreswechsel in den Ruhestand geht und das Unternehmen verkauft hat. Heute habe ich die Verabschiedung auf der Website publiziert. Das hat mich etwas angefasst.

Für eines der Kundenprojekte erstelle ich gerade eine Beispielseite in Chinesisch. Darüber werden Absprachen mit einem „natural speaker“ erfolgen, wie das CSS auszusehen hat, um die Lesbarkeit der Texte zu gewährleisten. Angeblich sollen zumindest eine größere Spationierung und ein Absatzeinzug notwendig sein.

Ein Abgleich mit „richtigen“ chinesischen Websites gibt das aber nicht her. Auffällig ist dort der größere Zeilendurchschuss, der zwischen 180% und 220% liegt (bei „westlichen“ Websites eher 120–150%).

Things I did.

Das Microsoft Surface-Gerät ist abgekommen. Das Gerät macht einen guten Eindruck. Dass der IE11 noch drauf war, hat mich sehr gefreut, weil es das Testen sehr viel schmerzfreier macht, als irgendwelche VMs hoch zu fahren. Ansonsten hinterließ Windows einen gemischten Eindruck. Ich habe mich gewundert, welche Bullshit-Applikationen per Default installiert wurden („Mobilfunktarife“ anyone?) und wie schwachbrüstig (nope: unbrauchbar) die Default-eMail-Applikation war. Die Systemeinstellungen sind maximalst unübersichtlich und unstrukturiert.

Paradebeispiel: eine Applikation verlangt Anmeldedaten. Der Fokus geht auf das Eingabefeld für den Usernamen und die On-Screen-Tastatur erscheint. Dann geht es zum Passwortfeld und … die On-Screen-Tastatur verschwindet. Man kann den Fokus wechseln so viel man will: ist der Fokus auf dem Passwortfeld, ist die On-Screen-Tastatur weg. Abhilfe schafft ein Tap auf ein Taskbar-Icon halbrechts – dadurch kann man die On-Screen-Tastatur forcieren – aber das ist meilenweit weg, von anfängerfreundlichen UX.


Nachbarn der Siedlung haben ihre Sichtschutzblenden ausgetauscht und weil sie gesehen hatten, dass meine schon runtergekommen waren, fragten sie mich, ob ich sie haben wolle. Eigentlich wollte ich erst nächstes Jahr die Sichtschutzwände austauschen, aber wenn die Gelegenheit nun schon da ist.

Unter der Woche habe ich, über 3–4 Einkäufe verteilt, entsprechende Zaunpfosten, Einschlaghülsen, Schrauben, Winkel, Holzlasur, Wasserwaage und so, eingekauft. Nach dem das Wetter zumindest bis Donnerstag wohl trocken bleibt, habe ich gestern und heute den Zaunpfosten zwei Lasur-Anstriche verpasst. Next up: Reinigen und evtl. Lasieren der Sichtschutzwände. Eventuell dann am nächsten Wochenende der Aus- und Einbau der Wände.

Things I played.

Seit Monaten erstmals wieder ein Computerspiel gespielt: „Rimworld“.

Meine erste Kolonie hat nur drei Tage überlebt. Ich hatte von der Zusammenstellung keine Ahnung gehabt und es zugelassen, dass die Dreier-Gruppe aus zwei Personen bestanden, die über quasi null handwerkliche Eigenschaften verfügten oder manuelle Tätigkeiten durchführen wollten. Am dritten Tag ist die einzige Arbeiterin von einem tollwütigen Eichhörnchen gebissen worden und binnen 17 Stunden verblutet.

In der zweiten Kolonie läuft es besser – wieder drei Frauen, die sich aber alle anpacken und bislang sind auch keine internen Konflikte aufgebrochen.

Things I listened to.

Eine meiner wichtigsten musikalischen Inspirationen ist Don Letts auf BBC 6 Music. Letzten Sonntag waren im „Crucial Vinyl“-Segment Dreadzone mit ihrem 93er-Album „360º” dabei. Ich gebe zu, dass mir der Name nichts sagte, aber das letzte Stück war in der Tat in den 90er Jahren eines jener Stücke nach denen ich süchtig war: House of Dread (Dreadzone hatten 1996 mit „Little Britain“ einen kleinen Chart-Erfolg)

Was war. Oktober

Der Oktober geht diese Woche zu Ende und nach einer fünfwöchigen Blogpause geht es hier wieder weiter.

Es hat in den letzten Wochen zeitlich einfach nicht mehr gepasst. Im Job ist „t5“ auf eine neue CMS-Version gehoben worden. Das zweite Projekt, Codename „2020“, ist ebenfalls gestartet. Die Zahl der Telkos hat ebenso zugenommen, wie die Zahl der verwendeten Sprachen. Die „2020“-Telkos werden i.d.R. in Englisch geführt.

Mit dem Monatswechsel hat mich zuerst eine zehntägige Darmgeschichte geschlaucht, inkl. Schonkost bis zum Abwinken. Anschließend kam eine größere Zahnarzt-Geschichte dran. Die hat mich für anderthalb Tage ausgeknockt und mir nochmal zehn Tage Schonkost verpasst.

Dazu kommen regelmäßige wöchentliche Termine bei der Psychotherapeutin und Meditationskurs (yep). Jeder Termin findet am Grindel oder in Altona statt. Das heißt übersetzt: eine Stunde Hinfahrt und eine Stunde Rückfahrt. Jeder Termin brennt dir also drei bis fünf Stunden vom Tag weg.

Das klingt dramatischer als es ist. Ich habe als Selbständiger den Vorteil (und dies kann ich aktuell gar nicht dick genug unterstreichen), dass ich in meinem Tagesablauf recht große Flexibilität habe. Solche Termine kann ich daher relativ entspannt angehen und ich genieße die Radfahrten zu den Terminen. Die Arbeit schwappt dann halt mal auch in die Abendstunden oder ins Wochenende rein. Passt schon. Es fallen halt einige Dinge hinten runter. Zum Beispiel das Bloggen.

Ohne Darmprobleme und Nachwirkungen zahnärztlicher Behandlungen, pegelt sich mein Alltag allmählich wieder ein – was sich grad wie eine passende Überschrift zu meiner derzeitigen Verfassung anhört.

Things I worked on.

Oben bereits erwähnt: die Kundenprojekte „t5“ und „2020“, die fachlich gar nicht so weit auseinander liegen: das Basteln von Frontend für die Abteilung „Templating“. Bei „2020“ ist heute ein spannendes Problem aufgetaucht: das Handling von Touch- vs Non-Touchdevices. Nein, besser: das Handling von Geräten, die in der Schnittmenge zwischen Touch- und Non-Touchdevices sind. Also Dinge mit Touchscreen und Tastatur/Maus.

Zum Beispiel bei einem Laptop mit Touchscreen und Maus, hat unsere aktuell verwendete CSS- und Javascript-basierende Touch-Erkennung (any-pointer: coarse) die Macke, dass der Touchscreen erkannt wird, obwohl die Maus verwendet wird. Dadurch wird z.B. ein Pulldown-Menü von Mouseover- auf Click-Events umgeschaltet.

CSS-Tricks hat vor einem Monat eine aktualisierte Version eines Artikels von Patrick H. Lauke veröffentlicht, der zu diesem Thema eine Referenz darstellt: „Interaction Media Features and Their Potential (for Incorrect Assumptions)“.

Ich muss mir den Artikel noch einmal en-detail durchlesen, unter Berücksichtigung zweier Aspekte.

1/ Muss ich das Verhalten dieses einen Dropdown-Menüs (zur Sprachauswahl) wirklich als „Entweder-Oder“ behandeln (Wenn Touch, dann x. Wenn Non-Touch, dann y) oder gibt es Entsprechungen des alten Web-Paradigmas „degrading gracefully“?

2/ Muss ich die Touch-Erkennung über any-pointer: coarse; hinausgehend, aufbohren (pointer,hover) um immer häufiger vorkommende Geräte wie „Laptop mit Touchscreen & Trackpad” abzufangen?

Things I did.

Nicht nur das Bloggen ist hinten über gefallen. Gartenarbeit war auch nur mäßig möglich. Immerhin: dieser Garten-Entzug sorgt für ein wesentlich positiveres Verhältnis zum Laub rechen. Dreimal die Woche am späten Nachmittag wird das Harken von Laub plötzlich zur Entspannung.

Anfang Oktober habe ich eine dreistellige Zahl an Blumenzwiebel in den Garten versenkt (I kid you not – die Narzissenzwiebeln hatten sich im Frühjahr massiv vermehrt).

Tomaten reifen im Karton heran

An Gemüse konnte ich noch etliche Zucchini ernten (die letzte Zucchini landete am Wochenende in einem Curry). Nicht ganz so gut erging es den Tomaten, deren Sträucher mir aus verschiedenen Gründen, unter den Händen weggefault sind. Als richtig erwies sich die Entscheidung, vorzeitig die grünen Tomaten zu pflücken und zuhause im Warmen & Dunklen zu lagern. Zwar liefen da auch nochmal knapp die Hälfte mit Braunfäule-artigen Symptomen an und wurde ASAP weggeschmissen. Aber 25 Tomaten haben sich gehalten. Und nach nun knapp 5–6 Wochen, werden die ersten orange und rot.

Things I watched.

„Kai is healing“ oder so. Wie zu allesaussersport-Zeiten. Zumindest an einem Tag am Wochenende läuft den ganzen Tag der Fernseher und es läuft Sport – aktuell Rugby, vorzugsweise der Mitre 10-Cup (neuseeländische Provinzmeisterschaft – alles andere wäre zu ordinär…). Sieben Spiele pro Wochenende. Die plätschern vor sich hin. Der Sound wird drahtlos über die ganze Wohnung verteilt. Ich schaue immer wieder mal rein, während ich die Wohnung sauber mache, im Garten was erledige, Umsatzsteuervoranmeldung schreibe oder die Wäsche aufhänge.

Ich bin aktuell mit dem vierten Spieltag durch (vulgo: ich hinke drei Wochen hinterher) und wie zu besten allesaussersport-Zeiten, fange ich in dieser mir bislang unbekannten Liga an, Strukturen, Geschichten und Charaktere zu erkennen.

Fun Fact: anscheinend kennt man keine Auswärtstrikots und die Teams treten immer in den gleichen Farben an, was schon mal für Zuschauer harte Kost werden kann, wenn die Schwarz-weiß-gestreiften gegen die Schwarz-weiß-rot-gestreiften antreten.

Quasi identische Trikots
Hawke‘s Bay gegen Counties Manukau

Things I enjoyed

Karte der Fahrradstrecke Schlump – Langenhorn

Strange Geschichte, aber die Rückfahrt von meinem Meditationskurs am letzten Mittwochabend hat mich komplett geflasht. Es war eine Strecke, die ich im zweiten Teil schon kannte und in einigen Anläufen optimiert hatte: die neue Fahrradstraße Högenstraße, Spannskamp, Hagenbecks Tierpark, Lokstedter Grenzstraße, Deelwisch, Niendorfer Gehege und ab Vogt-Cordes-Damm durch die Siedlung am Teutonenweg.

Neu war für mich der erste Teil: ab Schlump über die neuen Radwege an der Christuskirche in den Weidenstieg rein, wo sie das üble Pferdekopf-Kopfsteinpflaster fahrradfreundlich neu verlegt haben. Über den Ring 2 drüber, ist die Tornquiststraße nun auch eine Fahrradstraße und dann hinter einem neuen Kreisverkehr am Heußweg durch die ruhige Sillemstraße bis zur Högenstraße. Ein richtig entspannter Abschnitt.

Auf der 15km langen Gesamtstrecke hatte ich sage und schreibe fünf Ampeln und die letzte Ampel war bei der Querung der B447, ziemlich genau bei halber Strecke. Ich konnte schnell und sicher fahren. Es gab um die Uhrzeit wenig Verkehr und ich fuhr einen 22kmh-Schnitt, was ich für den Stadtbereich als sensationell empfand und mir wahnsinnig viel Spaß gemacht hat.

Was war. KW38

Eine Woche wie ein Gemischtwarenladen. Viele Dinge angefasst. Einiges ist vorwärts gebracht, anderes ist im Schwebezustand oder zieht sich hin. Ziele sind ausgesprochen worden – mit Zeithorizont Ende 2021. Vorsätze sind so auf Whiteboard-Folie niedergeschrieben, dass ich sie mehrmals am Tag zu sehen bekomme.

Einerseits musste ich mein Arbeitspensum höher schrauben. Andererseits war ich an drei der fünf Arbeitstagen tagsüber unterwegs zu Läden und anderen nichtberuflichen Terminen, was natürlich durch Abendschichten kompensiert werden musste.

Things I worked on.

Knock, Knock, Knock. Das zweite Projekt ist über die Schwelle getreten und letzte Woche auf meinem Schreibtisch gelandet. Zum Projekt „v20“ war ich erstmals bei den Gesprächen dabei. Beim Design schlagen die ersten abgenommen Module und Seiten auf, während frontendseitig die Werkzeuge zusammengestellt werden und mit dem Fundament (Grid, Navigation) angefangen wird. Für mich von besonderen Interesse: anhand eines zweites Projektes sehen, wie ein Designer seine Designs in Sketch aufbaut und verwaltet.

Im Projekt „t5“ gibt es just in diesem Bereich derzeit viele Diskussionen. Abseits davon, habe ich für „t5“ die vergangene Woche an einem alternativen Basis-Layout gearbeitet, dass in einigen Szenarien zum Einsatz kommen wird. Kommende Woche wird mein Schwerpunkt im Schreiben von Tests liegen, um den kommenden Schwenk auf eine neue Version des CMS‘ zu unterstützen.

Things I did.

Im Garten zeichnet sich für die selbstgezüchteten Tomaten ein worst case-Szenario ab. Bei der Erkrankung handelt es sich um die Braunfäule. Laut Auskunft im Baumarkt, grassiert die Braunfäule dieses Jahr besonders stark, als Folge von phasenweise starken Niederschlägen, wenig Sonnenschein und wenig Wind. Die Feuchtigkeit wird nicht schnell genug abgebaut und der Stamm fängt punktuell an zu gammeln. Die Braunfäule breitet sich dann aus.

Zirka 90–95% meiner Tomatensträucher sind davon befallen und das maximalste was ich da raus holen kann, ist die Tomaten-Rispen so spät wie möglich runter zu nehmen und die Tomaten im Haus nachreifen zu lassen. Nur zwei etwas abseits stehende Sträucher scheinen noch nicht befallen worden zu sein.

Die Zucchinis pfeifen aus dem letzten Loch. Durch die wesentlich tiefer stehende Sonne und die starke Abkühlung nachts, hat sich das Wachstum verringert. Ich denke ein bis zwei Zucchinis werde ich mindestens noch ernten können.

Die Fauna draußen, wird durch Krähen und Elstern dominiert, so wie durch die Eichhörnchen, die sich den ganzen Tag durch den großen Walnussbaum fressen.

Am Freitagnachmittag ist mir am Rad hinten eine Speiche weggeknackt – mitten auf kinderpopo-glatten Asphalt. Vermutlich eine „Stressfraktur“. Ich fahre aktuell durch Ecken, für die man die Stadt Hamburg eigentlich in Regress nehmen müsste, wg. nicht behobener Straßenschäden.

Mein aktuelles Highlight ist die Einmündung der neu eröffneten Fahrradstraße Högenstraße in den Langenfelder Damm. Die Fahrradstraße besitzt an der Einmündung eine Kante der Marke „felgenbrechend“. Noch schlimmer: wer stadtauswärts aus dem Langenfelder Damm in die Höhenstraße abbiegt, wird aufgrund des Straßenverlaufs beim Abbiegen zu einem recht flachen Winkel verleitet. Kombiniert mit der hohen Kante, riskiert man als Radfahrer auf die Fresse zu fallen. Will man stattdessen zum „Nehmen der Kante“ im 90 Grad-Winkel abbiegen, muss man auf dem Langenfelder Damm einen Bogen von der Fahrbahnmitte aus ansetzen – was man auf dem Langenfelder Damm nicht wirklich möchte – und riskiert dann auf der Högenstraße vom linksabbiegenden Gegenverkehr auf die Hörner genommen zu werden, weil der ebenfalls sehr mittig steht und dem Radfahrer nur wenig Platz lässt.

Auf der positiven Seite für mich als Radfahrer, sind die neuen und breiteren(!) Belage für die Spazierwege in Niendorf und Langenhorn, entlang dem Tarpenbek-Wanderweg und Rahwegteich.

Mein Rad habe ich noch nicht zur Reparatur gegeben – am Montag und Dienstag muss ich für zwei Arzttermine zum Grindel und nach Bahrenfeld fahren.

Things I read.

Ich habe den Hauptstrang von Black Hammer zu Ende gelesen. Um es vorweg zu nehmen: es hinterlässt mich etwas ratlos, ob ich es ob des weggeworfenen Potentials verreißen soll oder mich an den gelungenen Passagen erfreuen soll. Ich würde zu gerne wissen, was da bei Jeff Lemire und Dean Ormston abgegangen ist. Die offizielle Kommunikation (Schlaganfall, Reboot) überzeugt mich nicht.

Things I watched.

Nach fünf Wochen erstmals wieder Sport geguckt: am Samstag drei Rugby-Spiele aus Australien „on demand“.

Neuen Kaffee: 80/20-Espresso

Etikett der Kaffeeröstung

Ich habe eine neue Lieblings-Kaffeeröstung: „80/20 Espresso“ von Timo A. Meyer, der damit meine bisherigen Lieblinge von Quijote Kaffee ablöst.

Zwar hat auch diese Röstung noch nicht meine Probleme mit dem Ziehen von Espresso gelöst. Aber was „80/20“ auszeichnet, ist der Punch, die Durchsetzungsfähigkeit in der Milch, den die Röstung im Cappuccino besitzt.

Nach mehreren Wochen „80/20“ wirken andere Röstungen sehr flach – mich erinnert es an den Effekt, wenn man mehrere Wochen „Fritz Cola“ trinkt und dann plötzlich wieder „Coca Cola“ bekommt.

Was war. KW37

Things I listened to.

Bei mir derzeit in Endlosschleife und als Hintergrundmusik für den Blogeintrag geeignet: JP Nataf mit „Seul Alone“ (/via Nova La Nuit)


Vielleicht schreibe ich den Blogeintrag zu früh. Keine Ahnung. Im best case habe ich gestern Abend ‘nen Schalter umgelegt bekommen, nach dem ich am Donnerstagnachmittag in ein tiefes Loch abgestürzt bin. Vielleicht ist es aber auch nur eines von den unzähligen Male, bei dem die Umsetzung nach ein paar Tagen müde ausläuft und ich wieder von vorne anfange.

Things I worked on.

Bei t5 habe ich in der Woche recht geschmeidig ein größeres Ticket erledigt und dabei einen CSS-only Weg in der Umsetzung gefunden, der zwar den IE11 zurücklässt („degrading gracefully“ mit ein bisschen JS-Hilfe), denn ich aber recht clever fand – Stichwort: Aufspannen von Boxen in mindestens einem bestimmten Seitenverhältnis und ohne den alten Padding-Trick (weil hier IMHO nicht anwendbar).

Dabei bin ich auf die erste Inkompatibilität von SCSS aus der Vor-Dart-Sass-Zeit gestossen: SCSS verwechselt die CSS-native Funktion min() mit der eigenen min()-Funktion und wirft einen Syntax-Fehler. Workaround: calc( min() ).

Einmal mehr darüber nachgedacht, wie Design-Liefergegenstände für Content-Management-Systeme aus Perspektive von Frontendwickler auszusehen haben, bzw. die Abstimmung laufen sollte.

Vor der Tür steht ein zweites Projekt, dass sich aber noch nicht entscheiden kann, wann es über die Schwelle treten wird und wieviele Ressourcen es haben will.

Things I did.

Viel Garten. Ich habe weitere Zucchinis geerntet (u.a. gestern einen 460 Gramm-Exemplar). Die Tomaten reifen weiter vor sich hin – ich mache mir allerdings ein bisschen Sorgen, weil einige Sträucher an ihren Stämmen braune Stellen bekommen, die für mich ein bisschen nach Pilzerkrankung aussehen.

Ich habe den nächsten Stauden-Großeinkauf getätigt und werde bei Lieferung in der kommenden Woche etwas eskalieren – vor allem den bislang vernachlässigten Vordergarten.

Things I read.

Mit dem Geschenk eines Lesers angefangen: Black Hammer. Mir fällt es noch schwer, die Serie einzuordnen. Sie ist eine ungewöhnliche Interpretation des Superhelden-Genres (etwas von dem ich nicht glaubte, dass ich es 2020 noch schreiben würde…) und reizt damit zum Lesen. Problem: es ist mir auch nach zehn Heften unklar, ob ich noch in der Exposition, schon in der Klimax oder gar im Dénouement bin.

You don’t have a problem.

You have a solution you don’t like.

Was im August noch fehlte: Sternschnuppen

Der vielleicht erhabensten Moment der letzten Wochen, kam Mitte August, mit dem Perseiden-Sternschnuppenregen – ich habe mit 52 Jahren meine ersten Sternschnuppen gesehen.

Es war unter der Woche ein klarer Himmel. Ich bin in den kleinen Park am Tarpenbek-Rückhaltebecken, beim Kronstiegtunnel, gegangen und zu meiner Überraschung machten sich weder die Straßenlichter der Flughafen-Umgehungsstraße noch der Flughafen selber, negativ bemerkbar.

Gegen 22h30 war die Sonne soweit hinterm Horizont verschwunden, dass man anfing, mehr als nur die ganz großen Sterne oder Planeten wahrzunehmen. Ich hatte noch nie Sternschnuppen gesehen und wusste nicht wie sie aussehen. Eine Freundin, am Telefon dazu geschaltet, erklärte es mir. Dann sah ich meine erste Schnuppe. Und war fasziniert. Und bei den nächsten Schnuppen wünschte ich mir auch was – bislang ist nicht ein einziger der insgesamt fünf Wünsche in Erfüllung gegangen.

Das Faszinierende am Sternenhimmel, ist die Adaption der Augen. Einmal ein Muster verstanden, fangen sie an, die Muster wieder zu erkennen. Sei es Sternzeichen. Sei es das kurze Aufblitzen von Sternschnuppen. Sei es die inzwischen immense Zahl an Satelliten.

Am darauffolgenden Abend bin ich aus Hamburg rausgefahren und habe mich ins hohe Gras eines unbewirtschafteten Feldes hingelegt. Ich lag eine halbe Stunde oder eine Stunde im Gras. Ich legte mich immer wieder in einer anderen Richtung hin, um mich auf andere Bereiche des Himmels zu konzentrieren. Ich war alleine in meiner eigenen Blase und es war ausnahmsweise eine schöne, entspannte Blase, in der alles andere an Wichtigkeit verlor.

Olderposts Newerposts

© 2024 Kai Pahl

Theme basiert auf „Lingonberry“ von Anders NorenNach Oben ↑