Kategorie: HTML Stuff

  • Aufbau eines robusten Design System Managers: Eine Reise

    Designsysteme sind zu einer wesentlichen Komponente in der Welt des Web- und Produktdesigns geworden. Sie bieten eine gemeinsame Sprache und eine Reihe von wiederverwendbaren Komponenten, die Konsistenz, Effizienz und Skalierbarkeit fördern. In diesem Blog-Beitrag erörtere ich, wie ich Tag für Tag einen Designsystem-Manager entwickle. Dabei werden Schlüsselaspekte wie Design-Token, Responsive Design, atomares Design, Barrierefreiheit, Belastbarkeit, Kostenreduzierung und verschiedene Tools wie Figma, Token Studio, Docusaurus, Webkomponenten und natives CSS angesprochen.

    Design-Token

    Design-Token sind eine Möglichkeit, Design-Entscheidungen zu speichern und zu verwalten, z. B. für Farben, Typografie und Abstände. Sie bieten eine einzige Quelle der Wahrheit, die leicht aktualisiert und plattformübergreifend genutzt werden kann. Bei der Entwicklung meines Design System Managers verwende ich Tools wie Token Studio, um meine Design-Token zu erstellen, zu organisieren und zu verwalten. Dies trägt dazu bei, die Konsistenz zu wahren und Aktualisierungen zu optimieren.

    Responsive Design

    Responsive Design ist die Praxis der Erstellung von Designs, die sich an verschiedene Geräte und Bildschirmgrößen anpassen. Bei der Arbeit am Design System Manager stelle ich sicher, dass die Komponenten flexibel sind und sich nahtlos an verschiedene Bildschirmauflösungen anpassen. Dazu verwende ich Responsive Design-Techniken wie Media Queries, Fluid Grids und flexible Bilder, um ein konsistentes Nutzererlebnis auf verschiedenen Geräten zu gewährleisten.

    Atomic Design

    Atomic Design ist eine Methode, bei der das Design in kleinere, wiederverwendbare Komponenten, so genannte Atome, Moleküle und Organismen, unterteilt wird. Dieser Ansatz vereinfacht den Designprozess und fördert die Konsistenz des gesamten Systems. Bei der Entwicklung meines Design System Managers nutze ich die Prinzipien des atomaren Designs, um eine modulare und skalierbare Struktur zu schaffen, die es einfach macht, Komponenten nach Bedarf hinzuzufügen, zu entfernen oder zu ändern.

    Zugänglichkeit

    Barrierefreiheit ist von entscheidender Bedeutung, um sicherzustellen, dass alle Benutzer, einschließlich Menschen mit Behinderungen, digitale Produkte effektiv nutzen und mit ihnen interagieren können. Bei der Erstellung des Design System Managers lege ich Wert auf Barrierefreiheit, indem ich bewährte Verfahren wie korrektes semantisches HTML, die angemessene Verwendung von ARIA-Attributen und die Einhaltung der WCAG-Richtlinien einbeziehe. So wird sichergestellt, dass die Komponenten des Designsystems für jeden zugänglich und nutzbar sind.

    Ausfallsicherheit

    Resilienz im Design bezieht sich auf die Schaffung eines Systems, das Veränderungen standhalten und sich an verschiedene Szenarien anpassen kann. Im Kontext eines Designsystemmanagers bedeutet Resilienz, Komponenten zu bauen, die flexibel, modular und einfach zu warten sind. Ich erreiche dies, indem ich Webkomponenten und natives CSS verwende, um wiederverwendbare Elemente zu erstellen, die leicht angepasst und auf verschiedene Situationen eingestellt werden können.

    Vorteile und Kostenreduzierung

    Designsysteme bieten zahlreiche Vorteile, darunter schnellere Designprozesse, verbesserte Zusammenarbeit und geringere Wartungskosten. Durch die Entwicklung eines robusten Designsystem-Managers kann ich sicherstellen, dass mein Team Designs effizient erstellen und überarbeiten kann, während gleichzeitig ein konsistentes Benutzererlebnis erhalten bleibt. Dies wiederum führt zu Kosteneinsparungen, da der Bedarf an umfangreichen Designüberarbeitungen und -aktualisierungen sinkt.

    Werkzeuge

    Während der Entwicklung des Design System Managers verwende ich eine Vielzahl von Tools, um den Prozess zu vereinfachen und die Zusammenarbeit zu verbessern. Figma, ein kollaboratives Designtool, ermöglicht es meinem Team, in Echtzeit gemeinsam an Entwürfen zu arbeiten. Docusaurus ein Open-Source-Tool für die Dokumentation von UI- und Softwarekomponenten, hilft mir dabei, Komponenten zu visualisieren und isoliert zu testen, um sicherzustellen, dass sie in verschiedenen Kontexten korrekt funktionieren.

    Fazit

    Der Aufbau eines Designsystem-Managers ist eine fortlaufende, tägliche Aufgabe, die eine ständige Verbesserung und Verfeinerung erfordert. Indem ich mich auf Schlüsselaspekte wie Design-Token, responsives Design, atomares Design, Zugänglichkeit, Belastbarkeit und Kostenreduzierung konzentriere, kann ich ein robustes und effizientes System schaffen, von dem sowohl Designer als auch Benutzer profitieren. Mit Werkzeugen wie Figma, Token Studio, Docusaurus, Webkomponenten und nativem CSS kann ich vieles vereinfachen und sicherstellen, dass der Designsystemmanager flexibel und skalierbar bleibt und sich an die sich ständig weiterentwickelnde Welt des digitalen Designs anpassen kann.

  • Importing Markdown in MDX

    Ever imported Markdown in Storybook into an MDX?
    I tried the following (in Storybook 7) and it was failing with an Error, that I was not able to find when searching for it:

    import StorybookChangeset from './CHANGELOG.md';
    
    # Changelog
    
    <StorybookChangeset />Code-Sprache: JavaScript (javascript)

    This returned with the following issue:

    SyntaxError: '#' not followed by identifierCode-Sprache: Bash (bash)

    So I was wondering what the issue was, and Alexis Charpentier had the matching solution:

    import { Markdown } from '@storybook/addon-docs';
    import StorybookChangeset from '../../../CHANGELOG.md?raw';
    
    # Changelog
    
    <Markdown>{StorybookChangeset}</Markdown>Code-Sprache: JavaScript (javascript)

    Hope this helps you!

  • ChatGPT – die nächste Kuh im Dorf

    Schon lustig, die ganzen ChatGPT Profis, ob bei LinkedIn, oder Twitter. Irgendwann, wenn du nur lange genug durch deren Timeline scrollst, waren das alles NFT, Metaverse, Crypto oder Bitcoin Allwissende. Die Geschwindigkeit mit der diese Menschen ihr Fähnchen in den Wind halten und umsatteln ist atemberaubend. Ich bin gespannt, was die nächste Hype Technologie wird, mit der diese den Unbedarften Geld aus der Tasche ziehen.

    Ich bin offen für neue Technologie, ich benutze ChatGPT sogar regelmäßig um Texte zu verbessern. Mir fällt aber die Killerapplikationen immer noch nicht ein.

    Wer zu all dem differenziert eine Meinung lesen will, sollte es mit Molly White probieren.

    https://web3isgoinggreat.com/

    Was meint ihr, was wird der nächste Hype?

  • Landsmannschaft Afrania neu gemacht

    Meine Verbindung, Landsmannschaft Afrania in Heidelberg, war lange nicht aktualisiert worden und das PHP Backend war in die Jahre gekommen. Auch waren die Mail Formulare immer mehr von Spammern benutzt worden und dabei gingen die wichtigen Nachrichten unter. Ich habe jetzt eine statische Webseite mit 11ty angelegt und ich muss sagen, das macht sehr viel Freude.

    Die Seite ist schnell, sieht frisch aus und ist viel besser lesbar.

    Gerade habe ich festgestellt, dass die Seite seit 2012, also über 10 Jahre so Bestand hatte.

  • Welche Marken habe ich betreut?

    Letze Woche stellte ich fest, dass ich in über 20 Jahren Internet-Aktivitäten als Web Developer für viele Marken gearbeitet habe. Heute dann die Idee, dass ich diese einfach mal liste.

    Das ist nicht chronologisch noch alphabetisch, sondern einfach nur wie sie mir einfielen.

    • Herta
    • Nestlé
    • Pritt
    • B&O
    • IMD
    • Celerant
    • Fraport
    • Commerz Netbusiness
    • Lufthansa
    • MSH
    • BSH
    • Marcs & Spencer
    • Ladbrokes
    • Vodafone
    • Telekom
    • 1und1
    • Ticona
    • DHL
    • McDonald’s
    • HSBC
    • John Hancock
    • Siemens
    • Carnival
    • Fleurop
    • O2
    • Daimler
    • Mazda
    • Audi
    • Volkswagen
    • Bob Bomliz Group
    • Red Bull
    • Aegean Airlines
    • ProSieben
    • Katjes
    • MLP
    • EnBW
    • Swisscom
    • Jive
    • Dept of Health-UK (NHS)
    • Hansgrohe
    • VisitBritain
    • Sky
    • Mars
    • Kia
    • Richemont
    • Bausch & Lomb
    • Hugo Boss
    • Sanofi
    • Unilever
    • VF Corporation
    • Globetrotter
    • Sonepar

    Es waren sicherlich noch mehr dabei, diese hier sind mir nur beim kurz darüber Nachdenken eingefallen.

  • Page Transitions are back – I don’t like it!

    I remember when I created web pages in 1998. With the release of IE4 at that time, it brought a lot of new features and these offered some weird options. We were happy, we were lucky, but for what price?

    I wrote this article as I found this article talking about Smooth and simple page transitions with the shared element transition API. This directly reminded me of the Page transitions that IE4 had. We used it, and pages started looking like presentations. Even later in the days.

    I’m not sure if I want this. We will have more and more animations and less content. I don’t want to see the repeating animation instead of the content. Maybe funny the first 10 times, but getting boring when you click around for information. Then an even 500ms animation can get useless spent times. And that was, why the page transitions also were not a breakthrough thing.

    It also seems to be some kind of duplication of existing features like CSS transitions. Just currently proprietary.

    Fight Monopolies.

  • Join me for your Publicis Sapient Career – Check our Offers!

    Join me for your Publicis Sapient Career – Check our Offers!

    I’m working with Sapient, which is part of the Publicis Groupe, since a couple of years now. In detail already since 2007. You can check out work I do and blog posts I did within my career, following the latest TAG covering Publicis Sapient on this Weblog.

    Publicis Sapient also offers nice career paths. I suggest to check out our offers if you want to grow your developer skills or other capabilities with us.

    If interested, check out our Career and Job Offers on Careers @ Publicis Sapient. If you have any questions, feel free to connect with me. You can use my Linkedin Profile of Holger Hellinger to connect or also my Xing Profile of Holger Hellinger.

    Feel free to connect with me, if you want to grow with us.

  • How to name cases – naming conventions

    Did you ask yourself how to name the different cases of namings of files and folder structures? Maybe this helps you:

    • snake_case
    • SCREAMING_SNAKE_CASE
    • UpperCamelCase (PascalCase)
    • camelCase
    • kebab-case
    • SCREAMING-KEBAB-CASE

    Not sure if I covered most of the cases, but these are the ones I’m confronted with repeating.

  • How does a Headless Content Management System (CMS) work

    History of Content Management Systems

    Content Management Systems as we use them today go back to the times when the Internet was invented by Tim Berners-Lee in 1990. Data and Content had to be stored somewhere — and even more important — had to be maintained and updated. Initially, most contents were created like documents, edited, and stored as static pages. This is enhanced with the need for dynamic content, interaction like commenting, or linking.

    First CMS were still providing static HTML pages, that were rendered server-side by Script Languages like PHP, JSP, ASP, or other template languages or engines that have been created like TWIGHTL, or Freemarker. Allowing to interact with the pages with added forms. Nowadays with Node as JavaScript (we cover this later)

    This came with some problems as to how HTML is used, contents were only available in one format, and the source was created on a server that did not know anything about the device it was rendered on. With upcoming Mobile, but also other IoT devices it was hard to render this content appropriate on all devices. 

    From Static Pages to Headless CMS, From HTML to Modern Layout techniques
    CMS and technology timeline

    What does this mean? 

    While the content was rendered into a unique layer of HTML on the server-side, only CSS was able to design this output. There was a hard binding from Content to HTML. This caused less flexibility and relaunch. Or re-using of content created effort in re-creating the server-side rendering. CSS could always re-create new designs with existing content if HTML is written properly. (Examples like CSS Zengarden are showing this for decades) But this heavily depends on semantic Markup and no Elements used that cause already design (like line breaks, <div> containers that represent design or similar).

    Nowadays we can adjust layout and design with CSS and Media Queries. There were times when browsers were not supporting this well.

    How do traditional CMS monoliths work?

    A traditional CMS is a software that you either install and manage yourself or in a managed server environment. Traditional CMS is also known as “monolithic” because they contain all functions and assumptions for working in a single system. Traditional CMS often offers a visual authoring interface for editing content (WYSIWYG), as they only have one context for displaying the content — usually a website. The system normally offers a direct editing layer on an existing rendered layout.

    Showing a Headless flow, with an API layer and a Monolithic setup where Rendering, Data and Authoring is in one layer
    Headless vs monolithic

    The headless CMS only contains a data layer and authoring. They provide an API for a headless rendering layer that consumes the data. The aforementioned is also one of the challenges. How can you render a WYSIWYG experience when your authoring system does not know about the rendering?

    A new generation of CMS were invented. These often offer additionally Headless on existing systems, like CoreMedia for example, where besides Freemarker Template, a Headless GraphiQL server exists.

    How to consume headless data

    Headless also provides the possibility to get a content hub to ensure “Content first” implementation. Your one base of content will be able to maintain a bucket of additional endpoints.

    The CMS as Content Hub

    This data will be consumed via APIs — below are some examples. 

    Representational state transfer (REST)

    Rest API

    REST is a software architecture style that defines how to create web services. Web services, which conform to the REST architectural style and are known as RESTful Web Services, provide interoperability between computer systems on the Internet. RESTful web services allow the requesting systems to access and manipulate web resources using a set of stateless operations.

    GraphQL

    Flow: Client, GraphQL Server, Data
    GraphQL

    GraphQL is a query language for your API. Also, a server-side connection for executing queries belongs to a type of system to use for your data management. GraphQL is not tied to a personal database or storage engine and is driven by hidden code and data management.

    A GraphQL service will have types and fields for those types. There are functions for each field from each type.

    This is the rising star, as it offers flexibility not known before.

    GROQ

    I mention GROQ though it is not really widely used, but as I see similarities to GraphQL worth sharing.

    Advantages

    Use cases for headless CMS can be the following: You need to build a website with a technology you are familiar with, or web apps that use JavaScript frameworks like VUE, React, Svelte, Web Components, or Angular. Native mobile apps for iOS or Android can be directly consuming content. As you have seen, it’s not limited to websites.

    Where headless helps:

    • Your team is familiar with a special UI Technology.
    • There is a need for A/B tests
    • If you require a client-side rendered Framework like VUE, React, etc
    • Personalization of Content
    • If you have static side generators in place (Gatsby, Jekyll, Middleman, Next, Nuxt, or Eleventy)
    • Mobile Apps or IoT
    • If you need to enhance your E-Commerce data.
    MonolithicHeadless
    Simplicityoo
    Localization++
    Plug-in Uncertainty+
    Cross-Platform+
    Technology Freedom+
    Developer first+
    Comparison of Advantages

    Drawbacks and Challenges 

    Editing your content can be harder for authors on headless systems. Your System is depending on a second screen/system.

    Websites created with traditional CMS, allow customizable zones, and authors can resize and rearrange dynamic content easier. They are not limited to edit dynamic data in a fixed zone. They are enabled to share content easier.

    With headless, authors often can’t customize the placement or presentation much beyond given forms, without implementing configurable content grids. Dragging and dropping components is getting harder, as the components only exist as data and rely on a presentation layer.

    It can be more expensive to implement and the share of costs can get more complicated when only one unique source exists, but multiple layers consume it.

    Search Engine Optimization can also be trickier. Server-side Rendering (SSR) needs to be implemented for deep linking. SSR makes it even more complex. There are some advantages with server-side rendered JavaScript, but it is still an effort to consider. Think twice before considering headless. There can be use-cases where all of the above is not relevant. Usage depends.

    Conclusion

    There is no black and white decision possible. It depends on your team’s skills, your client’s or customers‘ needs, your project setup, and so on. Just make the right decision in the beginning. 

  • Working in times of Corona – winning teams

    A lot of people have asked me in the last few months what has changed since I started working from home “ during these times „. To be honest, almost nothing has changed for me. Most of it has even improved.

    Software development is remote work

    Because my coding and application building activities have always been done remotely. You rarely have a server right next to you, or even in the same house. I have had teams in the US, UK, India, and Bulgaria for the past 20 years. Suddenly I can no longer travel to these places. Somehow offices are no longer interesting as most employees now work from home. A big change for me as someone who has always traveled at least 2-3 days a week.

    The good

    My family, my wife, and my daughter finally have me available for 5 days in the afternoon and evening during the week and at the weekend. This sometimes leads to discussions like “ When are you going to travel again? “ – not really because you want to see me travel, the question is more:

    Does your job really work almost 100% from home?

    To be honest, I was a bit critical at first, but now I fully support this statement. There is practically no difference. Sometimes the sarcastic smile or nod that one does not see on the phone or in the videoconference is missing, but this can be overcome with the help of chat or other techniques.

    What has changed?

    Before Covid, I mostly spent two to three hours a day with video conferences and tools. Today I spend up to 8 hours a day doing it. This leads to situations where you really miss personal connections – at work, discussions have already begun about how we can adapt and overcome this. The typical elevator speech information is missing.

    Seeing a team member reacting to others, talking, or arguing can often shorten the discussion. You know that others think the same way. Online meetings tend to “ beat the dead horse ”, as everyone often wants to be heard. There is no personal interaction.

    Lower environmental impact

    The biggest change for sure is that I am not traveling and polluting the planet. Before that, I sat on trains 30 to 40,000 km a year. I traveled around the world by air, to India, the USA, or Eastern Europe. This is completely broken away. And I don’t miss any of these hours at the gate, runway, or train station. Sure, I’ve found great places for food or other things all over the world. Cafes or places to buy things. Now I tend to get more local. I hope I can secure that for the future. A big start was that I’ve become a vegetarian since December 2019 and I’m finally trying to break away from other animal products.

    Conclusion

    There will definitely be times when I have to travel to customers again. I miss the contact with my friends around the world and all over Europe. But this also gave me time to rethink whether everything has to be on site. The time that used to be in trains, taxis, and planes is now used much more productively. Programming, documenting things, and discussing architectures can easily be done in tools like collaboration teams. You only need functioning teams, and I have them.

    I’m not sad about how it is right now.

  • Ticwatch Pro 3 GPS from Mobvoi annoying backlight of Display

    Maybe interesting for one reading this. I was annoyed by the – on the other hand – impressing Ticwatch Pro 3 GPS, as it always switches on backlight when you turn your wrist. This is great when awaken, but at night wakes me up. Even the DND modus does not help. But here you are, I think this will help you. Till the Firmware is getting updated, we might can live with the following workaround:

    Select the Cinema / Kinomodus. The second icon in the lower row. The Watch does not light up anymore. If you want to disable it, press the power button.

    Hope this helps. :-) Interested in a watch? Use this link!