<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>David Hellmann — Digital Designer &amp; Developer</title>
    <link>https://davidhellmann.com/</link>
    <atom:link href="https://davidhellmann.com/feed" rel="self" type="application/rss+xml" />
    <description>David is a self-taught Digital Designer &amp; Developer with over fifteen years work experience. Currently he is working @fredmansky </description>
    <language>en-us</language>
    <pubDate>Thu, 05 Mar 2026 20:10:59 +0000</pubDate>
    <lastBuildDate>Thu, 05 Mar 2026 20:10:59 +0000</lastBuildDate>

        <item>
      <title>2021 - Ein komisches Jahr und Conn-Syndrom</title>
      <link>https://davidhellmann.com/blog/blogging/2021-ein-komisches-jahr-und-conn-syndrom</link>
      <pubDate>Thu, 30 Dec 2021 22:56:14 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/blogging/2021-ein-komisches-jahr-und-conn-syndrom</guid>
      <description>
        <![CDATA[
          <p>Anders kann die Überschrift dieses Jahr einfach nicht heißen. Es war das zweite Jahr im Zeichen von Corona. Aber das war gar nicht mal das komische in diesem Jahr. Vielmehr war es die Auswirkung eines Arztbesuches vom letzten Jahr, der mich weit ins Jahr 2021 begleiten sollte. Da ich 2021 nichts über 2020 geschrieben habe, muss ich wohl ein kleines Stück weiter ausholen…</p>
<p>Irgendwann im Herbst 2020 bin ich zu meinem Hausarzt gegangen für eine Vorsorgeuntersuchung. Mit meinen mittlerweile 37 Jahren, soll man sowas ja hin und wieder mal machen. Das ganze war auch alles OK bis die nette Ärztin meinen Blutdruck gemessen hat. Ihr etwas überraschter Gesichtsausdruck und die mehrfache Absicherung dieser Messung kamen mir dann aber doch etwas komisch vor. Irgendwas von 186/130 stand auf dem kleinen Gerät. Ich bin ja kein Profi aber auch mir war klar, dass dieser Wert eindeutig zu hoch war. Nach dem sich Arzt und Ärztin abgesprochen hatten wurde mir gesagt, dass man mich so nicht gehen lässt. Ich wurde ins Nebenzimmer gebracht und dort wurde mir eine Infusion gegeben. Dann eine Zweite. Doch der Blutdruck wollte nicht wirklich sinken. Das letzte was dann gemacht wurde war so ein rotes Spray unter die Zunge was mich dann mehr oder weniger umgehauen hat. Senkt den Blutdruck dann relativ schnell. </p>
<p>All das war der Anfang von vielen Arztbesuchen um heraus zu finden was denn der Auslöser für den hohen Blutdruck ist. Denn in meinem Alter sollte der dann doch nicht so hoch sein. Und gesund ist das alles natürlich auch nicht. Neben meinen ganzen Arztbesuchen ging es dann auch los mit Blutdruck Medikamenten und wie mein Arzt so nett zu mir sagte: die Dosis eines alten Mannes. Der Hausarzt schickte mich dann zum Internisten wo einige Tests mit dem Herz gemacht wurden die alle positiv verlaufen sind. Dann ging es weiter zu CT, MRT und diversen Bluttests. Ein weiterer Besuch beim Internist war dann so etwas wie der Dosenöffner. Er hatte eine Vermutung und zwar das Conn-Syndrom. Vermutungen sind natürlich nicht viel wert also wurde das ganze durch diverse weitere Untersuchungen weiter Abgesichert. Bis man sich dann mehr oder weniger sicher war, dass es wirklich das Conn-Syndrom ist. Das ganze hat dann grob sechs Monate gedauert. Für mich, der tatsächlich in seinem Leben eher weniger beim Arzt war, war das alles etwas seltsam, langsam, träge und einfach ungewohnt. Persönlich bin ich damit recht locker umgegangen weil es Sachen sind, die ich nicht wirklich beeinflussen konnte. Mir war klar das ich das nicht lösen können werde sondern ich den Ärzten einfach vertrauen schenken musste, dass sie das richtige tun. Im Juli 2021 war es dann soweit. Ein Termin im Krankenhaus, eine Operation stand an. Man sagte mir, dass es ein kleiner Routineeingriff ist. Meine Gedanken waren dann in etwa so: Mittwoch rein. Donnerstag OP. Freitag heim. Na gut, man sagte mir dann recht schnell, dass ich nach der OP noch 4-5 Tage im Krankenhaus bleiben müsse. </p>
<p>Es war mein erster Krankenhausaufenthalt seit keine Ahnung? 20 Jahren? 25 Jahren? Mittwoch war Aufnahme. Dort musste ich natürlich auch wieder ein paar Tests machen. Wurde über Narkose und Operation aufgeklärt und dann hieß es warten. Warten auf Donnertag. Ich alter Glückspilz hab den ersten Slot bekommen. 7 Uhr ging es los. Eine super seltsame Erfahrung da auf dem Bett durchs Krankenhaus in den OP-Wartesaal geschoben zu werden. Dort liegend bekommt man dann noch mit wie der Raum nach und nach voller wurde. Kurz drauf ging es auch schon los. Eine Dame schob mich in den OP Saal. Dort wurde ich dann von meinem Bett auf den OP Tisch gehoben und dann kam auch schon die Dame mit der Narkose zu mir. Ein zwei Sätze zu meinem Tattoo und schwupp, weg war ich. Von der OP selber kann ich jetzt nicht viel berichten, ich war etwas müde. Doch ans aufwachen im Aufwachraum kann ich mich dann schon wieder erinnern. Und zugegeben. Das war alles andere als schön. So halb im Delirium wachte ich dann irgendwann wieder auf. Ich sag einfach mal es war so 10 Uhr. Irgendwann kam dann eine nette Schwester zu mir (Ja, die waren alle sehr nett) und fragte wie es mir geht. Mir ist warm! Man hat ja so nette Thrombosestrümpfe an und meine dicke Bettdecke. Die nette Dame tauschte dann dicke Bettdecke gegen dünnes Bettlagen. Immerhin ein Anfang. Langsam bemerkte ich dann auch, dass da ein Katheter in mir steckte. Nichts was man braucht aber war dann auch schon egal. </p>
<p>Das rumliegen da war super nervig. Es war hell. Es war viel los. Ich wechselte immer zwischen einschlafen und herum schauen und war nach wie vor recht benommen. Irgendwann Mittag sagte man mir, dass soweit alles gut sei und ich zurück auf Station kann. Also ging es wieder hoch auf mein Zimmer und da lag ich dann. An aufstehen war nicht zu denken. Bettruhe bis zum nächsten morgen und da wird dann mal geschaut wie es weiter geht. Mein Vorteil von der OP sehr früh wurde dann irgendwie zum Nachteil, da der Tag noch endlos lang zu sein schien. Meine Kniestrümpfe haben mich fertig gemacht. Ich war super genervt. Ein paar Nachrichten mit Martina geschrieben um ihr dann zu sagen, dass ich keine Lust habe zu schreiben. Sagte ich schon, dass ich super genervt war?! Aber im ernst, das war ein total scheiss Gefühl am Bett gefesselt zu sein. Die Zeit verging nicht. Es war nach wie vor warm. Das war der Tag, wo ich mich während Corona wirklich gefangen gefühlt habe. Hatte aber halt nichts mit Corona zu tun. Ja, der musste sein, sorry. </p>
<p>Der Tag erschien endlos lange und die Freude war groß, als es dann endlich gegen Abend ging. Das beste was ich machen konnte war, dass ich versuche früh einzuschlafen. Alles was den Tag schneller vergehen lässt war eine gute Entscheidung. Am nächsten morgen war der nächste Meilenstein für mich die Visite um zu erfahren wie es mit mir weiter geht. Aber erstmal war Frühstück angesagt. Ich durfte mich nun - nach mehr als 24 Stunden - mal wieder in eine sitzende Position begeben. Auch das war komisch aber es ging und ich konnte mein erstes post OP Essen zu mir nehmen. Dann war wieder liegen angesagt und irgendwann kam dann die Visite. Kleine Diskussionen in der Gruppe und ich hörte den Satz: Katheter kann raus. JACKPOT! Eine Schwester entledigte mich dann also von dem Teil und das war der Weg zurück in die Freiheit. </p>
<p>Der schönste Moment im Krankenhaus war dann aber der, als die Zimmertüre aufging und Martina reinkam. Magic Moments würde ich sagen. Ab dann ging es nur noch darum die nächsten Tage rum zu bringen und jeden Tag nett zu fragen, wann sich mich denn entlassen würden. Zugegeben hatte ich aber schon gut Schmerzen an zwei der vier OP Narben. Jedes drehen im Bett schmerzte trotz Schmerztabletten. Aber ich will nicht jammern. Es hätte schlimmer sein können. Und wer sich jetzt fragt was denn nun überhaupt operiert wurde. Es wurde per laparoskopischem Eingriff ein Teil meiner rechten Nebenniere entfernt. Dieser hat - vereinfacht gesagt - meinen Hormonhaushalt durcheinander gebracht und zu den hohen Blutdruck werten geführt. Vor der OP war noch nicht klar ob die ganze Nebenniere entfernt wird oder nur ein Teil. Es blieb dann bei einem Teil davon. War soweit OK für mich. </p>
<p>Irgendwann durfte ich dann wieder nach zurück in die eigene vier Wände und da kam es dann auch zum wohl lustigsten Moment. Zuhause angekommen setzte ich mich erstmal auf Sofa. Endlich wieder zuhause. Blöd war nur, dass ich durch die schmerzen nicht mehr vom Sofa hochkam. Das Krankenhaus Bett ist so hoch, dass man die Beine hat baumeln lassen können. Das Sofa eher so, dass man die Knie fast schon am Kinn hat. Martina und ich holten dann also eine Matratze aus dem Schlafzimmer und das war dann für die nächsten zwei Wochen mein Reich. Die schmerzen begleiteten mich noch 2-3 Wochen aber wurden in der Zeit immer besser. Mein erster Gedanke, dass ich nach einer Woche wieder normal arbeiten kann, war dann wohl doch etwas zu optimistisch. </p>
<p>Festhalten kann man, dass jetzt mit meinem Blutdruck wieder alles in Ordnung ist und sich das alles so gesehen mehr als gelohnt hat. Dennoch muss man auch sagen, dass so eine Erfahrung einen auch den ein oder anderen Moment - vor allem im Krankenhaus selber - sehr nachdenklich gemacht hat. Nachdenklich, weil irgendwie sich Dinge so schnell ändern. Nachdenklich, weil man viele anderen Menschen gesehen hat denen es wohl deutlich schlechter ging als mir. Nachdenklich, dass man die Zeit die man hat, genießen sollte. Nachdenklich, um zu verstehen wie gut es einem geht. Wie unbeschwert man eigentlich lebt. Nachdenklich, um zu verstehen was es bedeutet, jemanden an seiner Seite zu haben mit dem man all die kostbare Zeit verbringen kann. Ich bin ein positiver Mensch (meistens). Das glas ist immer halb voll. Dinge sind wie sie sind. Dinge kommen wie sie kommen. Das einzigste was ich persönlich in der Hand habe ist das, dass ich einfach das beste aus dem mache was kommt. Und dadurch das man viel Zeit zum nachdenken hat im Krankenhaus, denkt man halt auch viel nach. Und mir ist klar geworden, dass ich keine zwanzig mehr bin. Mir ist klar geworden, dass es halt nur dieses eine Leben gibt. Mir ist klar geworden, dass älter werden auch heißt, dass man ganz andere Probleme zu bewältigen haben wird. Und was dann wirklich wichtig ist nur das: eine schöne Zeit haben. Und eine schöne Zeit heisst für mich nicht, dass ich alles oder so viel wie möglich erleben muss. Es heisst auch nicht das ich die ganze Welt bereisen muss. Es heißt schlicht und einfach: das hier und jetzt genießen. Egal ob es ein langweiliger Tag zuhause auf der Couch ist. Eine 100km Radfahrt irgendwo über Stock und Stein. Eine besondere Reise. Es ist vollkommen egal, denn alles kann eine schöne Erfahrung sein. </p>
<p>Aber nach so viel geschriebenen… Das Jahr hatte auch noch andere Momente. Fotos, Fahrräder. Tastaturen. Kurztrips. Radtouren. Leckeres Essen. Corona. Viel Zeit mit meiner liebsten. Fotos nachts mit Stativ. Noch mehr leckeres Essen. Einen neuen TV. Ein neues Bett. Aber schaut selbst: <a href="https://www.instagram.com/davidhellmann/" target="_blank" rel="noreferrer noopener">https://www.instagram.com/davidhellmann/</a></p>
<p>Guten rutsch! </p>

                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Anders kann die Überschrift dieses Jahr einfach nicht heißen. Es war das zweite Jahr im Zeichen von Corona. Aber das war gar nicht mal das komische in diesem Jahr. Vielmehr war es die Auswirkung eines Arztbesuches vom letzten Jahr, der mich weit ins Jahr 2021 begleiten sollte. Da ich 2021 nichts über 2020 geschrieben habe, muss ich wohl ein kleines Stück weiter ausholen…</p>
<p>Irgendwann im Herbst 2020 bin ich zu meinem Hausarzt gegangen für eine Vorsorgeuntersuchung. Mit meinen mittlerweile 37 Jahren, soll man sowas ja hin und wieder mal machen. Das ganze war auch alles OK bis die nette Ärztin meinen Blutdruck gemessen hat. Ihr etwas überraschter Gesichtsausdruck und die mehrfache Absicherung dieser Messung kamen mir dann aber doch etwas komisch vor. Irgendwas von 186/130 stand auf dem kleinen Gerät. Ich bin ja kein Profi aber auch mir war klar, dass dieser Wert eindeutig zu hoch war. Nach dem sich Arzt und Ärztin abgesprochen hatten wurde mir gesagt, dass man mich so nicht gehen lässt. Ich wurde ins Nebenzimmer gebracht und dort wurde mir eine Infusion gegeben. Dann eine Zweite. Doch der Blutdruck wollte nicht wirklich sinken. Das letzte was dann gemacht wurde war so ein rotes Spray unter die Zunge was mich dann mehr oder weniger umgehauen hat. Senkt den Blutdruck dann relativ schnell. </p>
<p>All das war der Anfang von vielen Arztbesuchen um heraus zu finden was denn der Auslöser für den hohen Blutdruck ist. Denn in meinem Alter sollte der dann doch nicht so hoch sein. Und gesund ist das alles natürlich auch nicht. Neben meinen ganzen Arztbesuchen ging es dann auch los mit Blutdruck Medikamenten und wie mein Arzt so nett zu mir sagte: die Dosis eines alten Mannes. Der Hausarzt schickte mich dann zum Internisten wo einige Tests mit dem Herz gemacht wurden die alle positiv verlaufen sind. Dann ging es weiter zu CT, MRT und diversen Bluttests. Ein weiterer Besuch beim Internist war dann so etwas wie der Dosenöffner. Er hatte eine Vermutung und zwar das Conn-Syndrom. Vermutungen sind natürlich nicht viel wert also wurde das ganze durch diverse weitere Untersuchungen weiter Abgesichert. Bis man sich dann mehr oder weniger sicher war, dass es wirklich das Conn-Syndrom ist. Das ganze hat dann grob sechs Monate gedauert. Für mich, der tatsächlich in seinem Leben eher weniger beim Arzt war, war das alles etwas seltsam, langsam, träge und einfach ungewohnt. Persönlich bin ich damit recht locker umgegangen weil es Sachen sind, die ich nicht wirklich beeinflussen konnte. Mir war klar das ich das nicht lösen können werde sondern ich den Ärzten einfach vertrauen schenken musste, dass sie das richtige tun. Im Juli 2021 war es dann soweit. Ein Termin im Krankenhaus, eine Operation stand an. Man sagte mir, dass es ein kleiner Routineeingriff ist. Meine Gedanken waren dann in etwa so: Mittwoch rein. Donnerstag OP. Freitag heim. Na gut, man sagte mir dann recht schnell, dass ich nach der OP noch 4-5 Tage im Krankenhaus bleiben müsse. </p>
<p>Es war mein erster Krankenhausaufenthalt seit keine Ahnung? 20 Jahren? 25 Jahren? Mittwoch war Aufnahme. Dort musste ich natürlich auch wieder ein paar Tests machen. Wurde über Narkose und Operation aufgeklärt und dann hieß es warten. Warten auf Donnertag. Ich alter Glückspilz hab den ersten Slot bekommen. 7 Uhr ging es los. Eine super seltsame Erfahrung da auf dem Bett durchs Krankenhaus in den OP-Wartesaal geschoben zu werden. Dort liegend bekommt man dann noch mit wie der Raum nach und nach voller wurde. Kurz drauf ging es auch schon los. Eine Dame schob mich in den OP Saal. Dort wurde ich dann von meinem Bett auf den OP Tisch gehoben und dann kam auch schon die Dame mit der Narkose zu mir. Ein zwei Sätze zu meinem Tattoo und schwupp, weg war ich. Von der OP selber kann ich jetzt nicht viel berichten, ich war etwas müde. Doch ans aufwachen im Aufwachraum kann ich mich dann schon wieder erinnern. Und zugegeben. Das war alles andere als schön. So halb im Delirium wachte ich dann irgendwann wieder auf. Ich sag einfach mal es war so 10 Uhr. Irgendwann kam dann eine nette Schwester zu mir (Ja, die waren alle sehr nett) und fragte wie es mir geht. Mir ist warm! Man hat ja so nette Thrombosestrümpfe an und meine dicke Bettdecke. Die nette Dame tauschte dann dicke Bettdecke gegen dünnes Bettlagen. Immerhin ein Anfang. Langsam bemerkte ich dann auch, dass da ein Katheter in mir steckte. Nichts was man braucht aber war dann auch schon egal. </p>
<p>Das rumliegen da war super nervig. Es war hell. Es war viel los. Ich wechselte immer zwischen einschlafen und herum schauen und war nach wie vor recht benommen. Irgendwann Mittag sagte man mir, dass soweit alles gut sei und ich zurück auf Station kann. Also ging es wieder hoch auf mein Zimmer und da lag ich dann. An aufstehen war nicht zu denken. Bettruhe bis zum nächsten morgen und da wird dann mal geschaut wie es weiter geht. Mein Vorteil von der OP sehr früh wurde dann irgendwie zum Nachteil, da der Tag noch endlos lang zu sein schien. Meine Kniestrümpfe haben mich fertig gemacht. Ich war super genervt. Ein paar Nachrichten mit Martina geschrieben um ihr dann zu sagen, dass ich keine Lust habe zu schreiben. Sagte ich schon, dass ich super genervt war?! Aber im ernst, das war ein total scheiss Gefühl am Bett gefesselt zu sein. Die Zeit verging nicht. Es war nach wie vor warm. Das war der Tag, wo ich mich während Corona wirklich gefangen gefühlt habe. Hatte aber halt nichts mit Corona zu tun. Ja, der musste sein, sorry. </p>
<p>Der Tag erschien endlos lange und die Freude war groß, als es dann endlich gegen Abend ging. Das beste was ich machen konnte war, dass ich versuche früh einzuschlafen. Alles was den Tag schneller vergehen lässt war eine gute Entscheidung. Am nächsten morgen war der nächste Meilenstein für mich die Visite um zu erfahren wie es mit mir weiter geht. Aber erstmal war Frühstück angesagt. Ich durfte mich nun - nach mehr als 24 Stunden - mal wieder in eine sitzende Position begeben. Auch das war komisch aber es ging und ich konnte mein erstes post OP Essen zu mir nehmen. Dann war wieder liegen angesagt und irgendwann kam dann die Visite. Kleine Diskussionen in der Gruppe und ich hörte den Satz: Katheter kann raus. JACKPOT! Eine Schwester entledigte mich dann also von dem Teil und das war der Weg zurück in die Freiheit. </p>
<p>Der schönste Moment im Krankenhaus war dann aber der, als die Zimmertüre aufging und Martina reinkam. Magic Moments würde ich sagen. Ab dann ging es nur noch darum die nächsten Tage rum zu bringen und jeden Tag nett zu fragen, wann sich mich denn entlassen würden. Zugegeben hatte ich aber schon gut Schmerzen an zwei der vier OP Narben. Jedes drehen im Bett schmerzte trotz Schmerztabletten. Aber ich will nicht jammern. Es hätte schlimmer sein können. Und wer sich jetzt fragt was denn nun überhaupt operiert wurde. Es wurde per laparoskopischem Eingriff ein Teil meiner rechten Nebenniere entfernt. Dieser hat - vereinfacht gesagt - meinen Hormonhaushalt durcheinander gebracht und zu den hohen Blutdruck werten geführt. Vor der OP war noch nicht klar ob die ganze Nebenniere entfernt wird oder nur ein Teil. Es blieb dann bei einem Teil davon. War soweit OK für mich. </p>
<p>Irgendwann durfte ich dann wieder nach zurück in die eigene vier Wände und da kam es dann auch zum wohl lustigsten Moment. Zuhause angekommen setzte ich mich erstmal auf Sofa. Endlich wieder zuhause. Blöd war nur, dass ich durch die schmerzen nicht mehr vom Sofa hochkam. Das Krankenhaus Bett ist so hoch, dass man die Beine hat baumeln lassen können. Das Sofa eher so, dass man die Knie fast schon am Kinn hat. Martina und ich holten dann also eine Matratze aus dem Schlafzimmer und das war dann für die nächsten zwei Wochen mein Reich. Die schmerzen begleiteten mich noch 2-3 Wochen aber wurden in der Zeit immer besser. Mein erster Gedanke, dass ich nach einer Woche wieder normal arbeiten kann, war dann wohl doch etwas zu optimistisch. </p>
<p>Festhalten kann man, dass jetzt mit meinem Blutdruck wieder alles in Ordnung ist und sich das alles so gesehen mehr als gelohnt hat. Dennoch muss man auch sagen, dass so eine Erfahrung einen auch den ein oder anderen Moment - vor allem im Krankenhaus selber - sehr nachdenklich gemacht hat. Nachdenklich, weil irgendwie sich Dinge so schnell ändern. Nachdenklich, weil man viele anderen Menschen gesehen hat denen es wohl deutlich schlechter ging als mir. Nachdenklich, dass man die Zeit die man hat, genießen sollte. Nachdenklich, um zu verstehen wie gut es einem geht. Wie unbeschwert man eigentlich lebt. Nachdenklich, um zu verstehen was es bedeutet, jemanden an seiner Seite zu haben mit dem man all die kostbare Zeit verbringen kann. Ich bin ein positiver Mensch (meistens). Das glas ist immer halb voll. Dinge sind wie sie sind. Dinge kommen wie sie kommen. Das einzigste was ich persönlich in der Hand habe ist das, dass ich einfach das beste aus dem mache was kommt. Und dadurch das man viel Zeit zum nachdenken hat im Krankenhaus, denkt man halt auch viel nach. Und mir ist klar geworden, dass ich keine zwanzig mehr bin. Mir ist klar geworden, dass es halt nur dieses eine Leben gibt. Mir ist klar geworden, dass älter werden auch heißt, dass man ganz andere Probleme zu bewältigen haben wird. Und was dann wirklich wichtig ist nur das: eine schöne Zeit haben. Und eine schöne Zeit heisst für mich nicht, dass ich alles oder so viel wie möglich erleben muss. Es heisst auch nicht das ich die ganze Welt bereisen muss. Es heißt schlicht und einfach: das hier und jetzt genießen. Egal ob es ein langweiliger Tag zuhause auf der Couch ist. Eine 100km Radfahrt irgendwo über Stock und Stein. Eine besondere Reise. Es ist vollkommen egal, denn alles kann eine schöne Erfahrung sein. </p>
<p>Aber nach so viel geschriebenen… Das Jahr hatte auch noch andere Momente. Fotos, Fahrräder. Tastaturen. Kurztrips. Radtouren. Leckeres Essen. Corona. Viel Zeit mit meiner liebsten. Fotos nachts mit Stativ. Noch mehr leckeres Essen. Einen neuen TV. Ein neues Bett. Aber schaut selbst: <a href="https://www.instagram.com/davidhellmann/" target="_blank" rel="noreferrer noopener">https://www.instagram.com/davidhellmann/</a></p>
<p>Guten rutsch! </p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>TailwindCSS: Fluid Type Plugin</title>
      <link>https://davidhellmann.com/blog/development/tailwindcss-fluid-type-plugin</link>
      <pubDate>Sun, 19 Sep 2021 07:30:01 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/development/tailwindcss-fluid-type-plugin</guid>
      <description>
        <![CDATA[
          <p>In addition to my latest blog post (<a href="https://davidhellmann.com/blog/development/tailwindcss-fluid-typography-with-css-clamp"></a><a href="https://davidhellmann.com/blog/development/tailwindcss-fluid-typography-with-css-clamp">TailwindCSS: Fluid typography with CSS Clamp | David Hellmann — Digital Designer &amp; Developer</a>) I've created a <a href="https://github.com/davidhellmann/tailwindcss-fluid-type" target="_blank" rel="noreferrer noopener">tailwindcss-fluid-type</a> plugin to outsource this logic and to have a cleaner config.</p>
<p>
</p>
<p>It does the same and I could remove the overhead from my config file. The current release is 1.2.1 and it offers the same options as tailwind default font-size options like line-height and letter-spacing.
</p>

                    
                    <img src="https://davidhellmann.com/uploads/images/tailwindcss-fluid-type-plugin-5496/_1280x800_crop_top-center_80/tailwindcss-fluid-type.png" width="1280" height="800" alt="TailwindCSS: Fluid Type Plugin">
                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>In addition to my latest blog post (<a href="https://davidhellmann.com/blog/development/tailwindcss-fluid-typography-with-css-clamp"></a><a href="https://davidhellmann.com/blog/development/tailwindcss-fluid-typography-with-css-clamp">TailwindCSS: Fluid typography with CSS Clamp | David Hellmann — Digital Designer &amp; Developer</a>) I've created a <a href="https://github.com/davidhellmann/tailwindcss-fluid-type" target="_blank" rel="noreferrer noopener">tailwindcss-fluid-type</a> plugin to outsource this logic and to have a cleaner config.</p>
<p>
</p>
<p>It does the same and I could remove the overhead from my config file. The current release is 1.2.1 and it offers the same options as tailwind default font-size options like line-height and letter-spacing.
</p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/tailwindcss-fluid-type-plugin-5496/5495/tailwindcss-fluid-type_cc702621e1ada645379b41e60b8ae4bf.png 1280w, /uploads/imager/uploads/images/tailwindcss-fluid-type-plugin-5496/5495/tailwindcss-fluid-type_0a33e616dcf91aaa69053b9d00a1b92d.png 800w, /uploads/imager/uploads/images/tailwindcss-fluid-type-plugin-5496/5495/tailwindcss-fluid-type_6b2703e2d91301196846d6d1fadc5f4e.png 400w, /uploads/imager/uploads/images/tailwindcss-fluid-type-plugin-5496/5495/tailwindcss-fluid-type_eb3e62499fabd6cc8ff66652ff78f27b.png 50w"
                 src="/uploads/imager/uploads/images/tailwindcss-fluid-type-plugin-5496/5495/tailwindcss-fluid-type_eb3e62499fabd6cc8ff66652ff78f27b.png"
                 alt="Tailwindcss Fluid Type" style="max-width: 1280px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/tailwindcss-fluid-type-plugin-5496/tailwindcss-fluid-type.png" alt="Tailwindcss Fluid Type"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Why should I use this plugin? </h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Good question as for every plugin out there. It's simple. I think fluid type is one of the things that solves a lot problems especially on mobile devices. In modern designs we often use huge font-sizes for headlines to be pithy. But on mobile devices sometimes this fonts are too big and we got strange scroll behaviors or strange word breaks. Cause we have not enough space to show the whole word. 
</p>
<p>
</p>
<p>We have two options to solve this problems. First option is to declare different font sizes for it like text-md md:text-xl and this works totally fine. But you have to do this all the time and it's a bit error-prone especially when more people work on a project. Maybe someone wrote text-md sm:text-xl and another one text-md lg:text-xl. 
</p>
<p>
</p>
<p>The second approach and in my opinion the much better one is to use fluid type here. Simply put it's just declaring a min and a max font size related to a viewport size. In between the font-size is calculated (fluid). Now you don't have to deal with font-sizes at different viewports. In addition to that we use modular scale here. More infos and a configurator is here to find: <a href="https://www.modularscale.com/" target="_blank" rel="noreferrer noopener">Modularscale</a>
</p>
<p>
</p>
<p>Any question about this topic? Let me know in the comments. 
</p>
  </div>

  
</div>

          
        <div class="block  block--cta  js_waypointTrigger">


  <div class="blockInner  blockInner--cta">
          <h3 class="waypointElement  fadeInUp  js_waypointElement">Get the plugin!</h3>
                  <a class="button  waypointElement  fadeInUp  js_waypointElement" href="https://github.com/davidhellmann/tailwindcss-fluid-type"  target="_blank">
        tailwindcss-fluid-type
      </a>
      </div>

</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>TailwindCSS: Fluid typography with CSS Clamp</title>
      <link>https://davidhellmann.com/blog/development/tailwindcss-fluid-typography-with-css-clamp</link>
      <pubDate>Fri, 07 May 2021 19:51:00 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/development/tailwindcss-fluid-typography-with-css-clamp</guid>
      <description>
        <![CDATA[
          <p>Wait, a <a href="https://tailwindcss.com/" target="_blank" rel="noreferrer noopener">TailwindCSS</a> article? Of course, I just had to jump on the hype train. But seriously. I was skeptical for a long time and still am partly. But since a few weeks I'm playing around with it a bit more and I plan to use it more intensively in the future. But that should not be the topic now so quickly back to the headline: Fluid Typography with CSS Clamp.</p>
<p>One point that bothers me about TailwindCSS is how to handle font sizes. In sum, there are just too many jumps that I have to remember, that a team has to remember. Here you quickly get a problem with consistency. Breakpoint set? Breakpoint correct? Sizes right? There are many sources of error. </p>
<p>But fortunately there are ways to simplify the whole thing significantly. Since IE11 support is disappearing more and more as a requirement for projects you can use CSS features like <a href="https://caniuse.com/css-math-functions" target="_blank" rel="noreferrer noopener">Clamp (Can i use)</a>. A pretty powerful CSS property that fits perfectly for this purpose.</p>

                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Wait, a <a href="https://tailwindcss.com/" target="_blank" rel="noreferrer noopener">TailwindCSS</a> article? Of course, I just had to jump on the hype train. But seriously. I was skeptical for a long time and still am partly. But since a few weeks I'm playing around with it a bit more and I plan to use it more intensively in the future. But that should not be the topic now so quickly back to the headline: Fluid Typography with CSS Clamp.</p>
<p>One point that bothers me about TailwindCSS is how to handle font sizes. In sum, there are just too many jumps that I have to remember, that a team has to remember. Here you quickly get a problem with consistency. Breakpoint set? Breakpoint correct? Sizes right? There are many sources of error. </p>
<p>But fortunately there are ways to simplify the whole thing significantly. Since IE11 support is disappearing more and more as a requirement for projects you can use CSS features like <a href="https://caniuse.com/css-math-functions" target="_blank" rel="noreferrer noopener">Clamp (Can i use)</a>. A pretty powerful CSS property that fits perfectly for this purpose.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>It looks like this</h3>
  </div>
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-css">
      <code class="language-css">
        /* CSS Clamp */
/* clamp(MIN_VALUE, FLUID_VALUE, MAX_VALUE) */

.sample {
  font-size: clamp(18px, 2vw, 24px); 
}
      </code>
    </pre>

  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Integrating the whole thing into TailwindCSS is a bit more complicated. The <strong>FLUID_VALUE</strong> is a more complex calculation where you need more values from the TailwindCSS config. Let's have a look at the whole thing in detail.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>tailwind.settings.js</h3>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>This is a part of my TailwindCSS Config where I store some global stuff. In our case the typography and screens stuff is relevant.</p>
  </div>

  
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-javascript">
      <code class="language-javascript">
        /*
 * Tailwind Settings
 */

module.exports = {
  typography: {
    fontSizeMin: 1.125,
    fontSizeMax: 1.25,
    msFactorMin: 1.125,
    msFactorMax: 1.2,
    lineHeight: 1.6,
  },
  screensRem: {
    min: 20,
    sm: 40,
    md: 48,
    lg: 64,
    xl: 80,
    &#039;2xl&#039;: 96,
  },
  grid: {
    cols: 24,
  },
}

      </code>
    </pre>

  </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>tailwind.settings.screens.js</h3>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Here I get my breakpoint values from the <strong>tailwind.settings.js</strong> file, which are stored there, without unit, as REM values and then convert them to pixels, since I use the breakpoints within TailwindCSS with pixel values.</p>
  </div>

  
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-javascript">
      <code class="language-javascript">
        /*
 * Tailwind Screens Settings
 */

const settings = require(&#039;./tailwind.settings&#039;)

const remToPx = (rem) =&gt; {
  return `${rem * 16}px`
}

module.exports = {
  sm: remToPx(settings.screensRem.sm),
  md: remToPx(settings.screensRem.md),
  lg: remToPx(settings.screensRem.lg),
  xl: remToPx(settings.screensRem.xl),
  &#039;2xl&#039;: remToPx(settings.screensRem[&#039;2xl&#039;]),
}

      </code>
    </pre>

  </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>tailwind.settings.fontSizes.js</h3>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Let's move on to the most exciting config file. In <strong>tailwind.settings.fontSizes.js</strong> file we assemble our clamp property. First we get some settings from <strong>tailwind.config.js</strong> and furthermore there are two helper functions.</p>
<p>One is <strong>calcMulti</strong> where we simply calculate the min font size and the max font size depending on our multiplier. The whole thing happens without units and in REM.</p>
<p>And the second helper function <strong>clamp</strong> assembles our clamp property. Details about this calculation can be found here: <a href="https://websemantics.uk/tools/responsive-font-calculator/" target="_blank" rel="noreferrer noopener">Fluid-responsive font-size calculator</a> where everything is explained quite well. </p>
  </div>

  
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-javascript">
      <code class="language-javascript">
        /*
 * Tailwind Font Size Settings
 */

const settings = require(&#039;./tailwind.settings&#039;)
const fsMin = settings.typography.fontSizeMin
const fsMax = settings.typography.fontSizeMax
const msFactorMin = settings.typography.msFactorMin
const msFactorMax = settings.typography.msFactorMax
const screenMin = settings.screensRem.min
const screenMax = settings.screensRem[&#039;2xl&#039;]

// Calc Min and Max Fontsize
const calcMulti = (multiMin = 0, multiMax = null) =&gt; {
  return {
    fsMin: fsMin * Math.pow(msFactorMin, multiMin),
    fsMax: fsMax * Math.pow(msFactorMax, multiMax || multiMin),
  }
}

// build the clamp property
const clamp = (multiMin = 0, multiMax = null) =&gt; {
  const _calcMulti = calcMulti(multiMin, multiMax || multiMin)
  const _fsMin = _calcMulti.fsMin
  const _fsMax = _calcMulti.fsMax
  return `clamp(${_fsMin}rem, calc(${_fsMin}rem + (${_fsMax} - ${_fsMin}) * ((100vw - ${screenMin}rem) / (${screenMax} - ${screenMin}))), ${_fsMax}rem)`
}

module.exports = {
  xs: clamp(-2),
  sm: clamp(-1),
  base: clamp(0),
  lg: clamp(1),
  xl: clamp(2),
  &#039;2xl&#039;: clamp(3),
  &#039;3xl&#039;: clamp(4),
  &#039;4xl&#039;: clamp(5),
  &#039;5xl&#039;: clamp(6),
  &#039;6xl&#039;: clamp(7),
  &#039;7xl&#039;: clamp(8),
  &#039;8xl&#039;: clamp(9),
  &#039;9xl&#039;: clamp(10),
}

      </code>
    </pre>

  </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>tailwind.config.js</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Our tailwind.config.js then looks like this (shortened version)</p>
  </div>

  
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-javascript">
      <code class="language-javascript">
        /*
 * TailwindCSS Config
 * */

// Settings
const settingsScreens = require(&#039;./tailwind.settings.screens&#039;)
const settingsFontSizes = require(&#039;./tailwind.settings.fontSizes&#039;)


module.exports = {
  ...
  theme: {
    ...
    screens: settingsScreens,
    fontSize: settingsFontSizes,
    ...
  },
}

      </code>
    </pre>

  </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Final output</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>If we look at the whole thing in the DEV tools in the browser we see the following line of code for our body font (.<strong>text-base</strong>).This means nothing else than that our body font has a <strong>minimum value of: 1.125rem (18px)</strong> and a <strong>maximum value of 1.25rem (20px)</strong>. Everything in between is fluid. The minimum value in our example <strong>starts at 20rem (320px)</strong> and the maximum value is <strong>reached at 96rem (1536px)</strong>. That means everything in between is controlled by the middle value. No more breakpoints needed. Love it!</p>
<p>The example <strong>.text-5xl</strong> shows the whole thing with the multiplier 6. In this case this is my <strong>H1</strong>.</p>
  </div>

  
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-css">
      <code class="language-css">
        .text-base {
  font-size: clamp(1.125rem, calc(1.125rem + (1.25 - 1.125) * ((100vw - 20rem) / (96 - 20))), 1.25rem);
}

.text-5xl {
  font-size: clamp(2.2806973457336426rem, calc(2.2806973457336426rem + (3.732479999999999 - 2.2806973457336426) * ((100vw - 20rem) / (96 - 20))), 3.732479999999999rem);
}
      </code>
    </pre>

  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Any thoughts, suggestions. Let me know. </p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>CraftCMS: Smarter Translation Files</title>
      <link>https://davidhellmann.com/blog/development/craftcms-smarter-translation-files</link>
      <pubDate>Sun, 20 Dec 2020 00:59:00 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/development/craftcms-smarter-translation-files</guid>
      <description>
        <![CDATA[
          <p>On my last <a href="https://craftcms.com" target="_blank" rel="noreferrer noopener">Craft CMS</a> client project at work I was a bit pissed about our translation file. Long story short: It's messy! We have a lot static translations in this project and it's a bit hard to manage all this translations in one big file. So our first approach was to use generic strings to translate rather than the thing to be translated itself. That looked like this: <br /></p>

                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>On my last <a href="https://craftcms.com" target="_blank" rel="noreferrer noopener">Craft CMS</a> client project at work I was a bit pissed about our translation file. Long story short: It's messy! We have a lot static translations in this project and it's a bit hard to manage all this translations in one big file. So our first approach was to use generic strings to translate rather than the thing to be translated itself. That looked like this: <br /></p>
  </div>

  
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-php">
      <code class="language-php">
        &lt;?php
return [
    &#039;translate.component.code.show&#039; =&gt; &#039;Show&#039;,
    &#039;translate.component.code.hide&#039; =&gt; &#039;Hide&#039;,
    &#039;translate.component.code.copy&#039; =&gt; &#039;Copy&#039;,
    &#039;translate.component.code.copied&#039; =&gt; &#039;✅ Copied!&#039;,
];
      </code>
    </pre>

  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>This helped us to have more clear strings and more context in our translation file. All our string starts with a <strong>translate</strong>. So it's really easy to search against all templates for translations. Great advantage! But, it does not solve the problem that you can have a really large file at the end. Yes, it's possible to work with a file like that but we don't like it. </p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>A much better approach</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>So we thought about it how we can optimize here. It's quite simple. Place your files where they belong. That means we say goodbye to one large and messy file and say hello to <strong>component/page based translations</strong>. Let me explain with a small example. Our folder structure looks like this:</p>
  </div>

  
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-markdown">
      <code class="language-markdown">
        ...
templates
-- _components
----- code
------- code.js
------- code.twig
------- translate.de.component.code.php
------- translate.en.component.code.php
...
translations
-- de
---- site.php
-- en
---- site.php
...
      </code>
    </pre>

  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>In our components folder, we find all our components. Each component can have a different set of files. If we have a template file (twig in our case) and we need static translations, we place a PHP file for each language in that folder too. Our naming for this file is:</p>
<p><strong>TRANSLATE.LANG.CONTEXT.COMPONENT.php </strong>&gt; <strong>translate.en.component.code.php</strong></p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Let&#039;s look at a complete example</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>We have two sites (German, English) and in our example, we have a code component. That means we need two translation files.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>templates/_components/code/translate.de.component.code.php</h3>
  </div>
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-php">
      <code class="language-php">
        &lt;?php
return [
    &#039;translate.component.code.show&#039; =&gt; &#039;Zeigen&#039;,
    &#039;translate.component.code.hide&#039; =&gt; &#039;Verbergen&#039;,
    &#039;translate.component.code.copy&#039; =&gt; &#039;Kopieren&#039;,
    &#039;translate.component.code.copied&#039; =&gt; &#039;✅ Kopiert!&#039;,
];
      </code>
    </pre>

  </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>templates/_components/code/translate.en.component.code.php</h3>
  </div>
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-php">
      <code class="language-php">
        &lt;?php
return [
    &#039;translate.component.code.show&#039; =&gt; &#039;Show&#039;,
    &#039;translate.component.code.hide&#039; =&gt; &#039;Hide&#039;,
    &#039;translate.component.code.copy&#039; =&gt; &#039;Copy&#039;,
    &#039;translate.component.code.copied&#039; =&gt; &#039;✅ Copied!&#039;,
];
      </code>
    </pre>

  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>In our main translation file, we have to include this component translation file and we have to merge it all. In this example, we import our code file and two other components. We've also a globals array where we can place some global translations like weekdays or stuff like that. In the end, it looks like this:</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>translations/de/site.php</h3>
  </div>
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-php">
      <code class="language-php">
        &lt;?php
// Vars
$page = &#039;/../../templates/&#039;;
$lang = &#039;de&#039;;

// Global Translations
$globalTranslations = [
    &#039;translate.global.days.monday&#039; =&gt; &#039;Montag&#039;,
    &#039;translate.global.days.tuesday&#039; =&gt; &#039;Dienstag&#039;,
    &#039;translate.global.days.wednesday&#039; =&gt; &#039;Mittwoch&#039;,
    &#039;translate.global.days.thursday&#039; =&gt; &#039;Donnerstag&#039;,
    &#039;translate.global.days.friday&#039; =&gt; &#039;Freitag&#039;,
    &#039;translate.global.days.saturday&#039; =&gt; &#039;Samstag&#039;,
    &#039;translate.global.days.sunday&#039; =&gt; &#039;Sonntag&#039;,
];

// Comp Translations
$compTranslations = [];

// Get all Files
$translationFiles = glob(__DIR__ . $page . &quot;**/*/translate.&quot; . $lang . &quot;*.php&quot;);

// Merge Files
foreach ($translationFiles as $translationFile) {
    $data = include $translationFile;
    if (!is_array($data)) {
        continue;
    }
    $compTranslations[] = $data;
}


// Return All Translations
return array_merge(...$compTranslations, ...[$globalTranslations]);

      </code>
    </pre>

  </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>translations/en/site.php</h3>
  </div>
</div>

          
        <div class="block  block--code  js_waypointTrigger">
  <div class="blockInner  blockInner--code">

    <pre class="line-numbers  language-php">
      <code class="language-php">
        &lt;?php
// Vars
$page = &#039;/../../templates/&#039;;
$lang = &#039;en&#039;;

// Global Translations
$globalTranslations = [
    &#039;translate.global.days.monday&#039; =&gt; &#039;Monday&#039;,
    &#039;translate.global.days.tuesday&#039; =&gt; &#039;Tuesday&#039;,
    &#039;translate.global.days.wednesday&#039; =&gt; &#039;Wednesday&#039;,
    &#039;translate.global.days.thursday&#039; =&gt; &#039;Thursday&#039;,
    &#039;translate.global.days.friday&#039; =&gt; &#039;Friday&#039;,
    &#039;translate.global.days.saturday&#039; =&gt; &#039;Saturday&#039;,
    &#039;translate.global.days.sunday&#039; =&gt; &#039;Sunday&#039;,
];

// Comp Translations
$compTranslations = [];

// Get all Files
$translationFiles = glob(__DIR__ . $page . &quot;**/*/translate.&quot; . $lang . &quot;*.php&quot;);

// Merge Files
foreach ($translationFiles as $translationFile) {
    $data = include $translationFile;
    if (!is_array($data)) {
        continue;
    }
    $compTranslations[] = $data;
}


// Return All Translations
return array_merge(...$compTranslations, ...[$globalTranslations]);

      </code>
    </pre>

  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>What do you think? Let me know!</p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>Justin Schüler — Heev.me</title>
      <link>https://davidhellmann.com/blog/interviews/justin-schueler-heev-me</link>
      <pubDate>Mon, 21 Sep 2020 20:14:00 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/interviews/justin-schueler-heev-me</guid>
      <description>
        <![CDATA[
          <p>Eine sehr gute Frage! Woher wir uns kennen, weiß ich nicht. Seit wann wir uns kennen, weiß ich auch nicht. OK, cool! Ganz sicher bin ich mir aber, dass es aus dem Internet ist und das auch schon ein paar viele Jahre. Bis wir uns dann am 24. Februar 2015 mal live gesehen haben. In Barcelona, zur AWWWARDS Konferenz. Ein klein wenig war ich aufgeregt, da Socializing jetzt nicht meine Paradedisziplin ist aber nach 5 Minuten war es so, als ob wir uns schon ewig kennen. Das ganze wurde natürlich ausgiebig — mit ein paar Gläsern feinstem Wodka + Cola — gefeiert. Justin ist auch eine Inspirierende Persönlichkeit für mich und mit ziemlicher Sicherheit auch für andere da draußen. Er hat meinen großen Respekt für das was er macht und auch wenn wir nicht immer einer Meinung sind, können wir dennoch über alles ausgiebig diskutieren. So, genug gelobt. Fangen wir an!</p>

                    
                    <img src="https://davidhellmann.com/uploads/images/justin-schueler-heev-me-5376/_1280x800_crop_top-center_80/heev-share.png" width="1280" height="800" alt="Justin Schüler — Heev.me">
                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Wer ist eigentlich Justin</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Eine sehr gute Frage! Woher wir uns kennen, weiß ich nicht. Seit wann wir uns kennen, weiß ich auch nicht. OK, cool! Ganz sicher bin ich mir aber, dass es aus dem Internet ist und das auch schon ein paar viele Jahre. Bis wir uns dann am 24. Februar 2015 mal live gesehen haben. In Barcelona, zur AWWWARDS Konferenz. Ein klein wenig war ich aufgeregt, da Socializing jetzt nicht meine Paradedisziplin ist aber nach 5 Minuten war es so, als ob wir uns schon ewig kennen. Das ganze wurde natürlich ausgiebig — mit ein paar Gläsern feinstem Wodka + Cola — gefeiert. Justin ist auch eine Inspirierende Persönlichkeit für mich und mit ziemlicher Sicherheit auch für andere da draußen. Er hat meinen großen Respekt für das was er macht und auch wenn wir nicht immer einer Meinung sind, können wir dennoch über alles ausgiebig diskutieren. So, genug gelobt. Fangen wir an!</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Ahoi Justin! Wir kennen uns ja schon ein paar Jahre aber viele andere nicht. Ein paar Worte über dich, jetzt!</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Hej David! Danke für’s Interview. Ich bin <a href="https://jschueler.com/" target="_blank" rel="noreferrer noopener">Justin Schüler</a>, lebe und arbeite in Leipzig und habe mich vor 12 Jahren selbständig gemacht. Seitdem bin ich als freiberuflicher Designer für digitale Produkte tätig und arbeite an einem eigenem Produkt namens <a href="https://heev.me/" target="_blank" rel="noreferrer noopener">Heev</a>. Meine Kunden sind größtenteils Startups, Agenturen und manchmal auch der ein oder andere Konzern. Dabei arbeite ich seit jeher zu 90% remote.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>2018 haben ein paar Freunde und du etwas gestartet was wir heute unter Namen Heev kennen. Bevor wir ins Detail gehen, beschreibe Heev doch mal in einem Satz.</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Damit hauste gleich in die Kerbe. Das eigene Produkt in einem, möglichst knackigen Satz zu beschreiben, ist extrem schwer. Das spielt ja vor allem für die Website und das ganze Marketing eine sehr große Rolle. Aber eben auch, wenn man es mal eben jemanden erklären will. Schwierig. Auf unserer <a href="https://heev.me/" target="_blank" rel="noreferrer noopener">Website</a> schreiben wir selbst:</p>
<p><strong>Deine Freelancer Software - Heev erleichtert deinen Alltag als Freelancer, damit du dich auf's Wesentliche konzentrieren kannst.</strong><br /></p>
  </div>

  
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Das habe ich selbst formuliert. Finde es aber schwach, beliebig und nicht unbedingt selbsterklärend.</p>
<p>Daher probier ich’s hier jetzt noch mal anders:</p>
  </div>

  
</div>

          
       
<div class="block  block--quote  js_waypointTrigger">
  <div class="blockInner  blockInner--quote">
    <blockquote>
      <p>Unsere Software macht die lästige Arbeit eines Freelancers einfacher und erträglicher – Angebote und Rechnungen schreiben, Zeiten erfassen, Ausgaben festhalten und alles in allem den Überblick über das eigene Business behalten. Alles in schick, minimalistisch, modern, performant und sicher.</p>
          </blockquote>
  </div>
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/justin-schueler-heev-me-5376/5375/heev-share_cc702621e1ada645379b41e60b8ae4bf.png 1600w, /uploads/imager/uploads/images/justin-schueler-heev-me-5376/5375/heev-share_0a33e616dcf91aaa69053b9d00a1b92d.png 800w, /uploads/imager/uploads/images/justin-schueler-heev-me-5376/5375/heev-share_6b2703e2d91301196846d6d1fadc5f4e.png 400w, /uploads/imager/uploads/images/justin-schueler-heev-me-5376/5375/heev-share_eb3e62499fabd6cc8ff66652ff78f27b.png 50w"
                 src="/uploads/imager/uploads/images/justin-schueler-heev-me-5376/5375/heev-share_eb3e62499fabd6cc8ff66652ff78f27b.png"
                 alt="Heev Share" style="max-width: 1640px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/justin-schueler-heev-me-5376/heev-share.png" alt="Heev Share"></noscript>


                          <figcaption style="max-width: 1640px; width: 100%; ">Heev.me</figcaption>
                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Wie habt ihr euch gefunden? War es eine Idee die in der Gruppe entstand oder hast du dir die richtigen Leute zusammengesucht wo du das Gefühl hattest, das sie deine Idee teilen und dich beim Verwirklichen unterstützen wollen?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Eine Mischung, würde ich sagen (: Die Idee und das Bedürfnis, da was geiles in der Richtung zu bauen, hatte ich schon vor einiger Zeit. 2017 ca. habe ich mich recht ausführlich mit vielen auf dem Markt vorhandenen Tools in dem Bereich befasst. Eben, ganz klassisch, aus der eigenen Notwendigkeit heraus. Bis zu dem Zeitpunkt habe ich „nur“ mit nativen Mac tools wie Grand Total gearbeitet. Da gab’s dann noch keine direkt integrierte und elegante Möglichkeit, Zeiten zu tracken + abzurechnen, Ausgaben zu erfassen usw. Das ging schon, aber nur mit weiteren lokalen Tools. Nicht so sexy jedenfalls. </p>
<p>Nach monatelangem Recherchieren und Testen bin ich dann jedenfalls bei Debitoor gelandet und war grundlegend auch ganz happy damit. Der Gedanke, dass man das alles smarter, eleganter, modular und insgesamt attraktiver machen könnte ging mir aber nicht aus dem Kopf.</p>
<p>2018 habe ich dan mit Alex und Marcel für Spreadshirt an einem größeren Web-App-Projekt gearbeitet. Dort haben wir uns kennengelernt und intensiv zusammen gearbeitet. Das lief so gut, dass wir uns irgendwann im Oktober zusammen gesetzt haben und ich erzählte ihnen von der Idee zu Heev. Damals hatten wir natürlich noch keinen Namen dafür. "Lasst uns mal nen geiles all-in-one tool für Freelancer bauen, was wir selbst auch wirklich gerne nutzen würden." - sinngemäß. Das räsonierte glaube ganz gut mit den Vorstellungen der Beiden.</p>
<p>Ein weiterer Grund war aber auch ganz einfach, dass wir Bock auf ein eigenes Projekt und Produkt hatten. Zusammen daran arbeiten, wachsen, Neues lernen, Mehrwert für Freelancer schaffen und potenziell auch Geld verdienen.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Ihr habt Heev ja quasi als Sideproject gegründet und so läuft es auch aktuell noch. Wie darf man sich das vorstellen? Wie ist eure Arbeitsweise und wie bringt ihr neue Features auf die Straße?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Yes, es ist auf jeden Fall noch ein Nebenprojekt. Jeder investiert im Schnitt 1 Tag / Woche. Mal mehr, mal weniger. Was natürlich echt überschaubar ist. Macht mich aber einmal mehr stolz, auf das, was wir bisher umgesetzt haben. </p>
<p>Konkret sieht das inzwischen so aus, dass wir alle Aufgaben, Anforderungen, Dokumentation, Nutzerfeedback usw. in Notion festhalten. Wir haben ein großes Kanban-Board, in dem wir alle Aufgaben möglichst strukturiert und priorisiert auflisten. Dabei arbeiten wir nicht nach scrum, sprint-basiert oder ähnlichem. Wäre bei unseren unregelmäßigen "Arbeitszeiten" glaube eher "Prozess-Overhead". Wir versuchen jedoch immer uns klar zu comitten, sobald wir an einem Feature arbeiten. </p>
<p>Der Ansatz ist insgesamt recht nah an der typischen Produktentwicklung, wie man ihn vielleicht auch von Kundenprojekten kennt. Aber eben sehr "lean". Für die Umsetzung eines Features wird zuerst recherchiert, konzipiert (alles schriftlich in Notion + gemeinsame Call), wenn nötig Designs ausgearbeitet (in Figma - ist allerdings ein riesiges Chaos und unsere Live App ist auf dem korrekteren Stand, als das Design haha, Klassiker). Wir versuchen den Schritt zwischen Design und Entwicklung so klein wie möglich zu halten. Inzwischen haben wir 'nen relativ solides, Komponenten-basiertes Design System im Storybook, mit dem man viele Szenarien sehr gut umsetzen kann, ohne jedes mal im Figma anzusetzen.</p>
<p>Wir nutzen ein Staging und ein Prod System. Sobald etwas greifbar ist, wird's auf Staging deployed und jeder kann seinen Senf dazu geben. Das geht dann wieder über Calls, Slack oder direkt Kommentare im jeweiligen Notion Ticket. Aktuell testen konkret also auch nur wir drei. Keine Beta Tester usw. Das wäre zwar sicher sinnvoll, würde uns aber noch mehr Zeit kosten. Da wir die App selbst alle im Alltag nutzen, sind wir auch ganz gut als unsere eigenen Tester geeignet. Bisher läuft das auch super smooth. Nennenswerte Bugs gab's bisher kaum und wenn doch, bekommen wir das über den Support Chat von unseren Kunden und können das meistens zeitnah fixen. </p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Eure Zielgruppe scheint auf den ersten Blick recht klar. Selbstständige die gern Ihre Zeiten, Angebote und Rechnungen — also kurz gesagt alles was mit Geld verdienen zu tun hat — in einem Tool vereint möchten. Aber erzähl du doch mal für wen Heev interessant ist und warum man es sich auf jeden Fall anschauen sollte.</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Richtig, unser Fokus liegt ganz klar auf Freelancern und Selbständigen. Dort dann auch eher auf den moderneren und im digitalen Bereich tätigen. DesignerInnen, EntwicklerInnen, BeraterInnen usw. Als Selbständiger hast du halt recht viel Business-Zeug, dass erledigt werden muss. Eben das, was du in deiner Frage bereits genannt hast. Dabei soll es aber auch nicht bleiben. Wir arbeiten ja ständig an neuen, nützlichen Features. Demnächst kommt die Ausgabenerfassung und Berichte. Damit hat man dann jederzeit einen guten Überblick über den Stand des Geschäfts. Dadurch lässt sicher besser planen und mit potenziellen Kunden kommunizieren. Alles in einem Tool - Es muss also nichts von tool a nach tool b portiert werden. Was noch mal zusätzlich Zeit kosten würde. Heev spart dir also Zeit das dabei recht unaufdringlich und elegant.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Was sind die kern Features von Heev? Wir haben schon über die Zielgruppe gesprochen. Die meisten Selbstständigen werden schon irgendwas nutzen um Sachen wie Zeiterfassung Rechnung etc. zu bewältigen. Muss man voll bei euch einsteigen oder kann man auch langsam zu euch wechseln?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Wie oben schon kurz beschrieben, kannst du mit Heev deine Kunden und Projekte verwalten. Zeiten tracken, Angebote und Rechnungen schreiben und alle Dokumente deinem Branding anpassen, mit unserem Layoutdesigner.</p>
<p>Wir dachten auch, dass die meisten Selbständigen bereits auf entsprechende tools zurückgreifen. Umfragen, von uns und anderen Anbietern in ähnlichen Bereichen (wie bspw. <a href="http://kontist.de/" target="_blank" rel="noreferrer noopener">Kontist</a>), ein Bankkonto für Freelancer, für die ich ebenfalls arbeite), haben aber gezeigt, dass viele noch immer auf excel listen oder verteilte tools setzen.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Modulares Preismodell. Da sagst du was. Das heißt ich könnte Heev nutzen und auch erstmal nur meine Zeit tracken, richtig? Würdest du das empfehlen oder sagst du Heev spielt seine Vorteile am besten aus, wenn man es in Gänze nutzt?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Du bist völlig flexibel. Jederzeit. Aus dem vollen schöpfst du aber definitiv, mit allen Modulen, da dann die Verknüpfungen ihre Stärke ausspielen können. So kannst du bspw. alle erfassten Zeiten eines Projektes, direkt in eine Rechnung importieren (2 klicks). Die Zeiten werden dann als "abgerechnet" markiert.</p>
<p>Heev modular aufzubauen, war eine Idee, die wir von Anfang an umgesetzt haben. Du kannst jedes Modul (aktuell Zeiterfassung, Angebote und Rechnungen) aktivieren oder deaktivieren. Das spiegelt sich dann auch entsprechend im UI wieder. Ein Anspruch, der uns wichtig war. Viele (eigentlich alle) Tools wirken schnell überladen und lassen sich dahingehend auch nicht anpassen. Wir wollten das unbedingt anders haben und fanden es auch nur logisch.</p>
<p>Heißt also ganz konkret für dich als NutzerIn: Wenn ich keine Rechnungen schreiben muss, dass Modul also nicht aktiviere, warum sollte ich dann ständig in der App darüber stolpern? Es muss natürlich auffindbar und aktivierbar sein. Aber eben nicht permanent im UI sitzen.</p>
<p>Technisch macht es die ganze Sache nicht leichter, da es viele Abhängigkeiten gibt, die wiederum viele Möglichkeiten für dich als Nutzer bieten. Führt aber eben zu mehr Komplexität in der Architektur und man kann nicht mal eben irgendwas völlig losgelöst anpassen. Das Konzept der Architektur ist daher von grundauf darauf ausgelegt. So das wir auch für weitere Features zukunftssicher modular konzipieren können.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Auf welches Feature seid Ihr / bist du am meisten Stolz?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Es ist eigentlich das Gesamtpaket und nichts im speziellen. Modernes Design, Einfachheit und sehr gute Performance.<br /></p>
<p>Aber um dennoch eins zu nennen: Der Layout-Designer. Das ding ist super einfach zu bedienen, performant und gibt dir die Möglichkeit, elegante Rechnungs- und Angebotsvorlagen im gewissen Rahmen zu individualisieren. In einem Maße und Qualität, wie wir das bei keinem anderen Tool in diesem Bereich finden konnten (wir haben sehr viel recherchiert und getestet - die meisten sind dahingehend wirklich sehr enttäuschend). </p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Mobile ist ein großes Thema (hehe). Wie seid ihr hier aufgestellt? Gibt es mobile Apps oder bietet eure WebApp alles was man sich wünschen kann? Wie sind die Zukunftspläne diesbezüglich?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Ja, da haste natürlich Recht. Das Frontend und die gesamte Architektur ist so gebaut, dass eine Responsive-Optimierung oder spezifische Adaption gut machbar wäre. Es kostet aber relativ viel Zeit und impliziert auch einige konzeptionelle Herausforderungen. Also ganz grundlegend schon: Was bräuchte es wirklich für mobile? Die gesamte App "einfach" responsive runterzustampfen, halte ich nicht für sinnvoll oder nutzerzentriert bei dem Thema. Einige Funktionen müsste man also ggf. komplett umbauen, um sie Mobile wirklich mit ner guten UX zu versehen. </p>
<p>Aber sagen wir mal so - "Responsive Optimierung" liegt als Karte schon lange im Notion und wir haben's auch auf'm Schirm. Wann wir dazu kommen, hängt, wie alles, was und wie wir an Heev arbeiten, vom Nutzerfeedback und einer sinnvollen Prio für's Business ab. </p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Konkurrenz belebt das Geschäft sagt man gern. Ihr seid neu am Markt und quasi die, die neuen Schwung hinein bringen. Wie seht ihr euch im Vergleich zur Konkurrenz? Warum sollte ich zu euch kommen?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Sehr gute Frage. In dem Bereich ist's auf jeden Fall mega schwer Fuß zu fassen. Wir hatten aber auch keine illusorischen Vorstellungen. Schwierigkeit ist natürlich, dass der Markt schon gut gesättigt ist und das teils von den großen Playern, wie Lexoffice, Debitoor oder Sevdesk, um nur einige zu nennen. Ich glaube, unsere Liste von "Konkurrenten" war um die 60 - 70 Einträge lang. </p>
<p>Um's mal bissl im Business und Marketing Gesabbel zu verpacken: Heevs USP ist die Einfachheit, das moderne Design, in Verbindung mit einer extrem robusten und guten Performance. Das kann man jetzt als fundamental oder basics bezeichnen, ist es aber meiner Erfahrung nach nicht. Auf Feature-Ebene ist es definitiv der Layout-Designer, in Verbindung mit Angeboten und Rechnungen. In Heev ist denken wir halt auch nichts isoliert. Wir versuchen immer möglichst viele, smarte Verknüpfungen zu schaffen, die so erstmal nicht sichtbar sind, im Alltag aber schnell die Arbeit erleichtern. Und mit dem aktuellen Featureumfang kratzen wir damit nur an der Oberfläche. Je mehr Daten wir (aus den Featuren heraus) verarbeiten können, desto mehr Intelligenz und Automatisierung können wir dir als Nutzer bieten. Sei es in Form von Metriken, Charts, Vorschlagen oder Prognosen. Technologisch geht 'ne Menge und Ideen haben wir viele.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Transparenz ist ein spannendes Buzzword heutzutage. Du teilst euren Progress gern auf Twitter. Hast auch kein Problem über zahlende Benutzer und Einnahmen zu sprechen. Bist du der Meinung, dass genau das viel mehr passieren sollte heute? Wie kommt es da draußen an?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Ich sehe auf unserem Level zumindest keinen Grund es nicht zu tun. Ich selbst finde es bei anderen Unternehmen spannend, wenn man nachvollziehen kann, was wirklich Phase ist. Da ist natürlich auch ein (aus meiner Sicht positiver) Trend, gerade im Tech / SAAS / Startup Bereich. Firmen wie Buffer oder auch unsere Freunde von <a href="https://scrumpy.io/" target="_blank" rel="noreferrer noopener">Scrumpy</a>, sind da schon ein sehr gutes Beispiel. </p>
<p>Wir messen nicht, ob oder wie gut es ankommt. Gefühlt würde ich aber sagen, dass dem schon so ist. Man kennt das ja von sich selbst und ich glaube, da geht es dir und vielen aus der Tech Branche nicht anders - es ist immer spannend zu sehen, was so hinter den Kulissen passiert. Im Bezug auf Zahlen und Geld ist mir das persönlich auch recht wichtig, da ich auch mit meinem eigene Freelance Business sehr transparent umgehe. Es ist ne weirde Gesellschaftliche Konvention, kaum oder nur ungern über Geld zu sprechen. Bin ich kein fan von.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Ist es ein Ziel Heev irgendwann mal Full Time zu machen?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Wir drei haben uns sehr klar und einheitlich darauf geeinigt, dass Heev vorerst ein Nebenprojekt bleiben soll. Zum einen, weil zumindest Alex und Marcel nicht auf ihre Kundenprojekte als Freelancer verzichten wollen. Zum anderen, da Heev nicht das einzige Produkt bleiben soll, an dem wir zusammen arbeiten. Zum Glück leidet darunter aber nicht die Qualität des Produktes. Eher das Marketing und das "Vorantreiben" (: <br /></p>
<p>Der Gedanke ist hin und wieder dennoch verlockend, für mich zumindest. Aber die investierbare Zeit hängt letztlich auch davon ab, wie viele Kunden wir haben, daran verdienen und dementsprechend leisten können. Aktuell ist’s ja noch ein reiner Invest.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Mit dem Wissen von heute… Was würdest du Rückblickend anders machen?</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Lustiger weise kommt jetzt wirklich der Satz, den man in unseren Kreisen extrem häufig liest oder hört: do not overthink, keep it simple! Lieber 2-3 Sachen weglassen und erstmal loslegen, live gehen, Feedback sammeln. Das ganze Geschwurbel. Es ist nicht so, dass wir das nicht so gemacht hätten und es ist wichtig zu bedenken, dass dieser Hinweis immer so einfach und praktikabel daherkommt.<br /></p>
<p>In der Realität sind es aber vor allem die Nuancen, die Abstimmung im Team und all die vielen Faktoren, die so mit reinspielen, die jene Entscheidungen nicht Gerade einfach machen.</p>
<p>Biste ne one (wo)men show, gehste einfach deinem best guess nach und musst ggf. Die Suppe auslöffeln. Im Team gibt es unterschiedliche Expertisen und Ansichten. Jede hat ihre Berechtigung und selbe Gewichtung. Umso wichtiger ist daher ne gute, klare und ehrliche Kommunikation untereinander.</p>
<p>Einen Kompromiss zu finden, ist nicht immer leicht, dass muss man im Team lernen. Kommunikation ist also, wie so oft, extrem wichtig.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h4>Bin gespannt wie Heev sich entwickeln wird und wünsche euch natürlich gutes Gelingen das es sich so entwickelt wie ihr euch das vorstellt. Jetzt darfst du gern noch irgendwas loswerden. Musst du aber nicht… Wobei, doch!</h4>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Haha! Ich will dir Auf jeden fall für die Idee mit dem Interview und der direkten Umsetzung danken :* es ist auch noch mal spannend, auf diese weise über das Projekt zu reflektieren.</p>
<p>Außerdem bin ich wirklich sehr stolz auf dieses Baby und unsere Arbeit. Wenn man bedenkt, welche Hürden und Komplikationen es bei vielen Projekten so gibt, dann find ich es schon bemerkenswert, wie gut die Zusammenarbeit bei uns flutscht.</p>
  </div>

  
</div>

          
        <div class="block  block--cta  js_waypointTrigger">


  <div class="blockInner  blockInner--cta">
          <h3 class="waypointElement  fadeInUp  js_waypointElement">Los, schafft euer Geld zu den Jungs!</h3>
                  <a class="button  waypointElement  fadeInUp  js_waypointElement" href="https://heev.me/" >
        Heev.me Website
      </a>
      </div>

</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Danke Justin für die interessanten Einblicke in und um Heev. Bin gespannt wo die Reise für euch hingeht.<br /></p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>Das Dilemma mit den sozialen Medien</title>
      <link>https://davidhellmann.com/blog/blogging/das-dilemma-mit-den-sozialen-medien</link>
      <pubDate>Wed, 16 Sep 2020 21:13:42 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/blogging/das-dilemma-mit-den-sozialen-medien</guid>
      <description>
        <![CDATA[
          <p>Als ich heute ganz sanft von meinem Wecker geweckt wurde war es 7 Uhr. Ab unter die Dusche, anziehen und ab aufs Motorrad. Der Zahnarzt wollte mich sehen. Grundlegend also schon mal ein gelungener Start in den Tag. Danach ging es zur Arbeit. Heute ist Mittwoch oder wie ich ihn nenne: Meetwoch! Der letzte Termin im Kalender sollte von 14-16 Uhr dauern. Da der Kopf schon mächtig am qualmen war, war ich erfreut das wir 15:30 schon fertig waren. Noch ein paar Abstimmungen David aber 16 Uhr bist du auf dem Heimweg sagte ich mir. 16:57 Uhr rollte ich mit dem Mottorad vom Hof und machte mich auf den ersehnten Heimweg. </p>
<p>
</p>
<p>Zuhause angekommen war der erste Griff zur Kaffeemaschine. Schalter in die Position ON und voller Vorfreude einen Kaffee zu trinken der hoffentlich meine Kopfschmerzen vergehen lässt. Kaffee #1 sollte das schon mal nicht schaffen. Aber ein Doppelter Kaffee #2 brachte mich weiter mit dem Problem. Ab auf die Couch und TV. Irgendwie nichts mehr machen heute was anstrengt. Fussball wäre ein Plan aber das Spiel startet erst 21 Uhr und aktuell ist es 19:51 Uhr. Schauen wir doch mal ob es was neues auf Netflix gibt. Da ich mein Abo letzte Woche gelöscht habe (wieder Preiserhöhung), könnte ich es ja zumindest noch etwas nutzen…
</p>
<p>
</p>
<p>In letzter Zeit wurde ich eher weniger fündig aber heute war gleich der Treffer ein Volltreffer: <a href="https://www.netflix.com/at/title/81254224?trkid=13747225&amp;s=i&amp;t=twt">Das Dilemma mit den sozialen Medien</a> — und die Dokumentation hatte es in sich. Nein, es war nichts was mich überrascht hat. Nein, es war nichts was wirklich neu war. Ja, es war ein Schlag ins Gesicht!
</p>
<p>
</p>
<p>Warum, wenn es doch nicht wirklich was neues war? Einfach weil es gut veranschaulicht hat was da passiert. Es war nachvollziehbar. Es war glaubhaft und selten war ich bei einer Dokumentation so genervt. Genervt weil ich weiß das ich genauso in dem Hamsterrad mit drinnen hänge wie die meisten anderen auch. Genervt weil ich weiß das man schwer aus dem Hamsterrad wieder herauskommt. Genervt weil ich weiß das ich viel Zeit damit verbringe etwas anzuschauen nur um es anzuschauen. Genervt weil ich weiß, dass es nicht gut, ist den ganzen Tag andere Leute zu "stalken", nur um zu wissen was sie tun, ohne das es für mich einen tatsächlichen Mehrwert hat, außer meine Sucht zu befriedigen. Genervt weil ich mir oft vornehme etwas zu ändern aber es nicht konsequent mache. Genervt weil die ganzen Netzwerke viel wichtiger erscheinen als sie sind. Genervt weil alle dieser Dienste im Ende auch immer nur auf das gleiche abzielen. Man könnte es wohl endlos weiterführen…
</p>

                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Als ich heute ganz sanft von meinem Wecker geweckt wurde war es 7 Uhr. Ab unter die Dusche, anziehen und ab aufs Motorrad. Der Zahnarzt wollte mich sehen. Grundlegend also schon mal ein gelungener Start in den Tag. Danach ging es zur Arbeit. Heute ist Mittwoch oder wie ich ihn nenne: Meetwoch! Der letzte Termin im Kalender sollte von 14-16 Uhr dauern. Da der Kopf schon mächtig am qualmen war, war ich erfreut das wir 15:30 schon fertig waren. Noch ein paar Abstimmungen David aber 16 Uhr bist du auf dem Heimweg sagte ich mir. 16:57 Uhr rollte ich mit dem Mottorad vom Hof und machte mich auf den ersehnten Heimweg. </p>
<p>
</p>
<p>Zuhause angekommen war der erste Griff zur Kaffeemaschine. Schalter in die Position ON und voller Vorfreude einen Kaffee zu trinken der hoffentlich meine Kopfschmerzen vergehen lässt. Kaffee #1 sollte das schon mal nicht schaffen. Aber ein Doppelter Kaffee #2 brachte mich weiter mit dem Problem. Ab auf die Couch und TV. Irgendwie nichts mehr machen heute was anstrengt. Fussball wäre ein Plan aber das Spiel startet erst 21 Uhr und aktuell ist es 19:51 Uhr. Schauen wir doch mal ob es was neues auf Netflix gibt. Da ich mein Abo letzte Woche gelöscht habe (wieder Preiserhöhung), könnte ich es ja zumindest noch etwas nutzen…
</p>
<p>
</p>
<p>In letzter Zeit wurde ich eher weniger fündig aber heute war gleich der Treffer ein Volltreffer: <a href="https://www.netflix.com/at/title/81254224?trkid=13747225&amp;s=i&amp;t=twt">Das Dilemma mit den sozialen Medien</a> — und die Dokumentation hatte es in sich. Nein, es war nichts was mich überrascht hat. Nein, es war nichts was wirklich neu war. Ja, es war ein Schlag ins Gesicht!
</p>
<p>
</p>
<p>Warum, wenn es doch nicht wirklich was neues war? Einfach weil es gut veranschaulicht hat was da passiert. Es war nachvollziehbar. Es war glaubhaft und selten war ich bei einer Dokumentation so genervt. Genervt weil ich weiß das ich genauso in dem Hamsterrad mit drinnen hänge wie die meisten anderen auch. Genervt weil ich weiß das man schwer aus dem Hamsterrad wieder herauskommt. Genervt weil ich weiß das ich viel Zeit damit verbringe etwas anzuschauen nur um es anzuschauen. Genervt weil ich weiß, dass es nicht gut, ist den ganzen Tag andere Leute zu "stalken", nur um zu wissen was sie tun, ohne das es für mich einen tatsächlichen Mehrwert hat, außer meine Sucht zu befriedigen. Genervt weil ich mir oft vornehme etwas zu ändern aber es nicht konsequent mache. Genervt weil die ganzen Netzwerke viel wichtiger erscheinen als sie sind. Genervt weil alle dieser Dienste im Ende auch immer nur auf das gleiche abzielen. Man könnte es wohl endlos weiterführen…
</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Warum ist loslassen so schwer?</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Ist es nicht! Zumindest nicht immer. Vor ein paar Monaten hab ich mich entschlossen Facebook mehr oder weniger zu meiden. Die App habe ich von meinem Smartphone gelöscht und auf der Website war ich im Grunde nicht mehr bis auf ein paar Ausnahmen. Habe ich etwas vermisst? Nein, gar nicht! Nun gut, Facebook war aber auch schon länger nicht mehr interessant. So richtig auf die Schulter klopfen kann ich mir da also nicht, schade!</p>
<p>Beim schauen der Doku war klar, dass ich danach etwas tun werde und zwar Instagram von meinem Smartphone zu verbannen. Für immer? Wahrscheinlich nicht aber zumindest mal für einen gewissen Zeitraum. Und Instagram wird mir wirklich schwer Fallen. Ich mag Fotos anschauen! Für mich ist Instagram nach wie vor ein Tagebuch von Ereignissen die ich auf Fotos festgehalten habe. Es macht mir Spaß durch mein Profil zu scrollen. Zu sehen ich gemacht habe. Erinnerungen kommen zurück und die Ereignisse sind vor meinem Auge als wären sie gestern erst passiert. Ich mag Fotos machen! Einen gewissen Anspruch habe ich an mein Profil. Schöne Fotos sollen es sein. Mit einem gewissen Anspruch an mich selbst. Momente sollen festgehalten werden. Meist aus meiner Sicht. Selten soll mein Gesicht zu sehen sein. Aber ich sehe auch gern wer hinter Profilen steckt und möchte das auch von mir Preis geben. Ich mag likes! Aber bitte nur weil euch das Foto gefällt. Nicht weil ihr denkt ihr müsst mir was gutes tun oder mich heute besonders hübsch findet. Nein, der like soll nicht mehr sein als: Schickes Foto David! Aber ein Like macht mein Leben nicht besser. </p>
<p>Aber ganz ohne Fotos geht es nicht. Das ist etwas was mir Spaß macht. VSCO schafft da vielleicht Abhilfe. Dort sollte ich mich wieder mehr aufhalten. Nicht das da alles super ist aber es ist sicher mehr vertretbar als Instagram. Mal schauen ob es wirklich ein Ersatz werden kann. </p>
<p>Etwas weniger Google bitte. DuckDuckGo ist seit ca. 26 Minuten meine Standard Suchmaschine im Chrome und auf dem Smartphone. Auch das sicher wieder nur ein kleiner Tropfen aber immerhin. </p>
<p>Twitter werde ich nicht löschen. Da ist meine Bubble sehr Berufsbezogen und das ist für mich Informationsquelle und einfach ein Stück weit meine Tageszeitung. Und irgendwie hab ich mich auch selten in Twitter verloren. Mal ein paar swipes durch den Stream. Ein paar interessante Links geklickt und dann war es auch meist wieder gut. </p>
<p>Die Dokumentation hat mir gezeigt, dass ich mich vielleicht hin und wieder mehr mit diesem Thema beschäftigen und mich einfach öfters hinterfragen sollte. Weniger Zeit damit zu verbringen, dieses System zu unterstützen. Es geht mir auch nicht darum alle meine Accounts zu löschen. Sondern einfach alles wieder etwas herunter zu fahren. Und vielleicht einfach die Zeit für andere Dinge nutzen. </p>
<p>Ende. </p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>UX ist Boss!</title>
      <link>https://davidhellmann.com/blog/blogging/ux-ist-boss</link>
      <pubDate>Mon, 24 Feb 2020 06:52:38 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/blogging/ux-ist-boss</guid>
      <description>
        <![CDATA[
          <p>Letztens im <a href="https://discord.gg/GhV5nzp" target="_blank" rel="noreferrer noopener">webdevs.xyz</a> haben wir mal wieder fleißig über irgendwelche Design Themen Diskutiert. Das machen wir natürlich immer mit vollem elan und manchmal artet es etwas aus. Irgendwann fiel dann folgende Aussage:<br /></p>

                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Letztens im <a href="https://discord.gg/GhV5nzp" target="_blank" rel="noreferrer noopener">webdevs.xyz</a> haben wir mal wieder fleißig über irgendwelche Design Themen Diskutiert. Das machen wir natürlich immer mit vollem elan und manchmal artet es etwas aus. Irgendwann fiel dann folgende Aussage:<br /></p>
  </div>

  
</div>

          
       
<div class="block  block--quote  js_waypointTrigger">
  <div class="blockInner  blockInner--quote">
    <blockquote>
      <p>Design hat schon seine Berechtigung für Brand und Wahrnehmung, aber am Ende gewinnt die UX</p>
              <footer>dannux — webdevs.xyz</footer>
          </blockquote>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Nicht viel neues in dieser Aussage aber gut sich das auch immer mal wieder vor Augen zu führen. Schön anzuschauen ist das eine. Aber es muss gleichzeitig auch funktionieren. Ist das nicht gegeben, ist das andere auch nicht viel wert. </p>
<p>Signed.</p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>2019 — Ein Rückblick</title>
      <link>https://davidhellmann.com/blog/blogging/2019-ein-rueckblick</link>
      <pubDate>Wed, 29 Jan 2020 23:46:41 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/blogging/2019-ein-rueckblick</guid>
      <description>
        <![CDATA[
          <p>Oh, krass spät dran dieses Jahr aber irgendwie kam bisher immer etwas dazwischen. Aber nun hau ich ja schon in die Tasten… </p>

                    
                    <img src="https://davidhellmann.com/uploads/images/2019-ein-rueckblick-5329/_1280x800_crop_top-center_80/DSCF7982_variant-2.jpg" width="1280" height="800" alt="2019 — Ein Rückblick">
                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Oh, krass spät dran dieses Jahr aber irgendwie kam bisher immer etwas dazwischen. Aber nun hau ich ja schon in die Tasten… </p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Fynn war in Linz</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Es war mal wieder FRTG Zeit bei Fredmansky und da war es doch naheliegend, dass Fynn mal vorbeischaut. Das hat mich persönlich sehr gefreut das wir uns so auch mal persönlich kennenlernen durften. Und die anderen hatten sicher auch etwas Spass an diesem Abend. </p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5324/DSCF7982_variant-2_82f46c73c5a22a5804f2fc4ce75194ff.jpg 1600w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5324/DSCF7982_variant-2_c21e5dcab0e3a3febaa7a3e719cd50ef.jpg 800w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5324/DSCF7982_variant-2_22cfa0ff5d106abb21135ab6109e6595.jpg 400w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5324/DSCF7982_variant-2_3b45c6652324d11a481fc7e91f0a4f56.jpg 50w"
                 src="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5324/DSCF7982_variant-2_3b45c6652324d11a481fc7e91f0a4f56.jpg"
                 alt="Dscf7982 Variant 2" style="max-width: 2600px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/2019-ein-rueckblick-5329/DSCF7982_variant-2.jpg" alt="Dscf7982 Variant 2"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>New Bike day!</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Es musste auch mal wieder ein neues Rad her. Ihr habt recht, müssen ist hier völlig der falsche Begriff aber nun gut. Da doppelt bekanntlich besser hält hat Martina sich auch gleich eins mit gegönnt. #teamspecialized heisst es von nun an. Sie auf nem Stumpjumper und ich auf einem Stumpjumper Evo. Macht spaß! Sorry Capra das ich dich weitergegeben habe. Aber du wirst sicher weiterhin Spaß haben. </p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5326/DSCF8500_variant-1_82f46c73c5a22a5804f2fc4ce75194ff.jpg 1600w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5326/DSCF8500_variant-1_c21e5dcab0e3a3febaa7a3e719cd50ef.jpg 800w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5326/DSCF8500_variant-1_22cfa0ff5d106abb21135ab6109e6595.jpg 400w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5326/DSCF8500_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg 50w"
                 src="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5326/DSCF8500_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg"
                 alt="Dscf8500 Variant 1" style="max-width: 2600px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/2019-ein-rueckblick-5329/DSCF8500_variant-1.jpg" alt="Dscf8500 Variant 1"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Mechanical Keyboard (ANSI)</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Auf meine alten Tage noch mal was neues lernen beim herum tippen am Computer? Why not! Die Mechanical Keyboard Fanboys haben mich irgendwann doch überzeugt mir so einen Teil mal zuzulegen. Es wurden <del>eine</del> zwei VORTEX Race3 RGBA (ANSI) Keyboards. Zwei, da ich natürlich auch zuhause das gleiche Gefühl beim tippen haben möchte wie auf Arbeit. Das Keyboard neu war nun das eine aber das umstellen von deutschen auf englisches Layout das andere. Es hat sicher ein bis zwei Monate gedauert, bis es schmerzfrei funktionierte mit dem schreiben aber inzwischen bin ich Happy es gemacht zu haben. <br /></p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Führerschein, da war ja was!</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Genau, wer sich ein Motorrad kauft, braucht natürlich auch diesen Schein, der einen berechtigt damit zu fahren. Im April war es dann soweit, die ersten Fahrstunden standen an. Was faszinierend ist, ist das man relativ wenig Fahrstunden machen muss und das alles relativ schnell lernt. War fast schon etwas schockiert wie einfach man einen Motorradführerschein bekommt. </p>
<p>Long Story short. Bestanden!</p>
<p>Und was soll ich sagen? Es macht richtig spass! Ich habe kein Motorrad zum schnell fahren. Das wird auch nie das Ziel sein. Es geht darum etwas durchs Hinterland zu fahren und dies zu genießen. Alles ab 80 km/h wird dann schon anstrengend und macht weniger spass. Freu mich schon wenn es wieder los geht. </p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5327/DSCF8571_variant-1_82f46c73c5a22a5804f2fc4ce75194ff.jpg 1600w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5327/DSCF8571_variant-1_c21e5dcab0e3a3febaa7a3e719cd50ef.jpg 800w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5327/DSCF8571_variant-1_22cfa0ff5d106abb21135ab6109e6595.jpg 400w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5327/DSCF8571_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg 50w"
                 src="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5327/DSCF8571_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg"
                 alt="Dscf8571 Variant 1" style="max-width: 2600px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/2019-ein-rueckblick-5329/DSCF8571_variant-1.jpg" alt="Dscf8571 Variant 1"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Junggesellen Abschied mit Toni…</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>a, und natürlich die Hochzeit. Aber eins nach dem anderen. Junggesellenabschied hieß — Standesgemäß — es muss in der Natur passieren. Also wurde gezeltet. Leider war es Arschkalt doch Chefplaner Robert wäre nicht Chefplaner gewesen, wenn er nicht ein drei Tages Program ausgearbeitet hätte. Nach kalt kam ziemlich warm. Denn es ging in eine alte Schmiede und dort wurde uns richtig eingeheizt. Raus kommen sollte ein Messer bei jedem. Raus kam irgendwas, dass man mit Worten schwer beschreiben konnte. Lustig war es dennoch. Danach ging es direkt Richtung Prag wo wir es uns in einem Hausboot gemütlich machten. Schön wars! Ach ja, Hochzeit. Na was soll man sagen??? Wenn Menschen aus Plauen bei einer Party anwesend sind, ist die Chance, dass diese feucht fröhlich wird, gar nicht mal so klein. Hier muss kein weiterer Text stehen. &lt;3</p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5325/DSCF8452_variant-1_82f46c73c5a22a5804f2fc4ce75194ff.jpg 1600w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5325/DSCF8452_variant-1_c21e5dcab0e3a3febaa7a3e719cd50ef.jpg 800w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5325/DSCF8452_variant-1_22cfa0ff5d106abb21135ab6109e6595.jpg 400w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5325/DSCF8452_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg 50w"
                 src="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5325/DSCF8452_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg"
                 alt="Dscf8452 Variant 1" style="max-width: 2600px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/2019-ein-rueckblick-5329/DSCF8452_variant-1.jpg" alt="Dscf8452 Variant 1"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Reisen</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Ist zu zweit ja viel schöner als alleine sagt man. Die Probleme hab ich ja nicht mehr. Wir waren in Wien, in Plauen, in Budapest, Saalbach, Faak am See und sicher noch irgendwo anderes. Dieses Jahr ging es nicht weiter und länger weg. Warum? Das im nächsten Abschnitt. </p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5328/DSCF8018_variant-1_82f46c73c5a22a5804f2fc4ce75194ff.jpg 1600w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5328/DSCF8018_variant-1_c21e5dcab0e3a3febaa7a3e719cd50ef.jpg 800w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5328/DSCF8018_variant-1_22cfa0ff5d106abb21135ab6109e6595.jpg 400w, /uploads/imager/uploads/images/2019-ein-rueckblick-5329/5328/DSCF8018_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg 50w"
                 src="/uploads/imager/uploads/images/2019-ein-rueckblick-5329/5328/DSCF8018_variant-1_3b45c6652324d11a481fc7e91f0a4f56.jpg"
                 alt="Dscf8018 Variant 1" style="max-width: 2600px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/2019-ein-rueckblick-5329/DSCF8018_variant-1.jpg" alt="Dscf8018 Variant 1"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Grosser Schritt. Die erste gemeinsame Wohnung</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Irgendwann im Frühjahr redeten Martina und ich das erste mal darüber zusammen in eine Wohnung zu ziehen. Aus reden wurde dann recht schnell nach Wohnungen schauen. Aus nach Wohnung schauen wurde dann schnell Wohnungen anschauen. Und relativ schnell hatten wir auch eine Wohnung gefunden, die uns beiden sehr gefallen hat. Doch es ging nicht nur darum das wir zusammenziehen, sondern auch wohin wir ziehen. Und schnell war uns beiden klar, dass es nicht in der Stadt sein soll, sondern eher außerhalb. So ist es nun auch gekommen. Wir sind jetzt Landeier! Und was soll ich sagen, es ist super. Glaube das ist seit 20 Jahren die erste bewusste Entscheidung gegen das wohnen in der Stadt. Jetzt ist es für uns Beide komisch, wenn wir dann mal in Linz sind. Diese vielen Menschen. Ich sage euch!!!<br /></p>
<p>So, denke das reicht als verspäteter Rückblick gerade noch so aus. Hab ich was vergessen? Bestimmt aber egal!</p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>Craft CMS — Dynamic Title Formats</title>
      <link>https://davidhellmann.com/blog/development/craft-cms-dynamic-title-formats</link>
      <pubDate>Fri, 13 Dec 2019 23:31:00 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/development/craft-cms-dynamic-title-formats</guid>
      <description>
        <![CDATA[
          <p>One of my favorite features in <a href="https://craftcms.com/" target="_blank" rel="noreferrer noopener">Craft CMS</a> is the possibility to create dynamic titles. I think it's currently just possible to use this for entries but that's fine. For a few months we use entries for all, also for categories, and so on. Brandon mentioned in one of the GitHub Issues that it comes all together in the futures within the Content menu item. I'll replace the entries menu item. However, we are here to speak about dynamic titles. </p>

                    
                    <img src="https://davidhellmann.com/uploads/images/craft-cms-dynamic-title-formats-5296/_1280x800_crop_top-center_80/craft-cms-dynamic-titles-01.png" width="1280" height="800" alt="Craft CMS — Dynamic Title Formats">
                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>One of my favorite features in <a href="https://craftcms.com/" target="_blank" rel="noreferrer noopener">Craft CMS</a> is the possibility to create dynamic titles. I think it's currently just possible to use this for entries but that's fine. For a few months we use entries for all, also for categories, and so on. Brandon mentioned in one of the GitHub Issues that it comes all together in the futures within the Content menu item. I'll replace the entries menu item. However, we are here to speak about dynamic titles. </p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>What are dynamic titles</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>In craft, an entry needs at least a title. Most of the time, you as the author write something in the title field and it's fine. But imagine you have a lot of content and then in the future, the content grows and grows. Many authors work on the content and sometimes you have content where you need a strict naming for titles or a certain structure for the title. You can do that all the time by hand but that does not fail-proof. With dynamic titles, you have the possibility to make life much easier for your authors or just for yourself. Sometimes you have nothing to write by hand. And sometimes you pick just some related entries from which the title will create. </p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>How it works</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Let's get away with this… We have some products. The product has a product category, a title, and an Id / SKU Number. Now, when you create a product entry you have to write this in the title field: Product Category - Product Title - SKU Number. It's easy you think but is it? I think no. So here comes the dynamic title into play. Someone was thinking about how the title is structured. Suppose we need to get to the three things from above also a namespace. Now our finale title format looks like this: P - category - product title - SKU — yes, that looks fine. We have a P what is the Namespace and stands simply for Products. Second is the category title, third the product title and the last one, that's the SKU. But how comes this to a dynamic title? Craft has a powerful control panel. You can put some twig logic in many of the input fields to make the stuff dynamic. In our case, we have three fields from which we create the title later. This looks like this: P - {productsCategory.one().title} - {productsTitle} - {productsId}</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>This is the product entry type</h3>
  </div>
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5306/craft-cms-dynamic-titles-01_cc702621e1ada645379b41e60b8ae4bf.png 1600w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5306/craft-cms-dynamic-titles-01_0a33e616dcf91aaa69053b9d00a1b92d.png 800w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5306/craft-cms-dynamic-titles-01_6b2703e2d91301196846d6d1fadc5f4e.png 400w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5306/craft-cms-dynamic-titles-01_eb3e62499fabd6cc8ff66652ff78f27b.png 50w"
                 src="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5306/craft-cms-dynamic-titles-01_eb3e62499fabd6cc8ff66652ff78f27b.png"
                 alt="Craft Cms Dynamic Titles 01" style="max-width: 1690px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/craft-cms-dynamic-title-formats-5296/craft-cms-dynamic-titles-01.png" alt="Craft Cms Dynamic Titles 01"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h3>This is our product entry</h3>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>As you see, there is a Products ID field what is our Id / SKU. Below we have our Product title field what is just the product name. Below the title comes the Products Category field. From these three fields and the namespace, we build our title.</p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5307/craft-cms-dynamic-titles-02_cc702621e1ada645379b41e60b8ae4bf.png 1600w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5307/craft-cms-dynamic-titles-02_0a33e616dcf91aaa69053b9d00a1b92d.png 800w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5307/craft-cms-dynamic-titles-02_6b2703e2d91301196846d6d1fadc5f4e.png 400w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5307/craft-cms-dynamic-titles-02_eb3e62499fabd6cc8ff66652ff78f27b.png 50w"
                 src="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5307/craft-cms-dynamic-titles-02_eb3e62499fabd6cc8ff66652ff78f27b.png"
                 alt="Craft Cms Dynamic Titles 02" style="max-width: 1690px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/craft-cms-dynamic-title-formats-5296/craft-cms-dynamic-titles-02.png" alt="Craft Cms Dynamic Titles 02"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Now, our product overview looks like this:</p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5308/craft-cms-dynamic-titles-03_cc702621e1ada645379b41e60b8ae4bf.png 1600w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5308/craft-cms-dynamic-titles-03_0a33e616dcf91aaa69053b9d00a1b92d.png 800w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5308/craft-cms-dynamic-titles-03_6b2703e2d91301196846d6d1fadc5f4e.png 400w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5308/craft-cms-dynamic-titles-03_eb3e62499fabd6cc8ff66652ff78f27b.png 50w"
                 src="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5308/craft-cms-dynamic-titles-03_eb3e62499fabd6cc8ff66652ff78f27b.png"
                 alt="Craft Cms Dynamic Titles 03" style="max-width: 1690px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/craft-cms-dynamic-title-formats-5296/craft-cms-dynamic-titles-03.png" alt="Craft Cms Dynamic Titles 03"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Or for our product advantages it looks like this:</p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5309/craft-cms-dynamic-titles-04_cc702621e1ada645379b41e60b8ae4bf.png 1600w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5309/craft-cms-dynamic-titles-04_0a33e616dcf91aaa69053b9d00a1b92d.png 800w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5309/craft-cms-dynamic-titles-04_6b2703e2d91301196846d6d1fadc5f4e.png 400w, /uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5309/craft-cms-dynamic-titles-04_eb3e62499fabd6cc8ff66652ff78f27b.png 50w"
                 src="/uploads/imager/uploads/images/craft-cms-dynamic-title-formats-5296/5309/craft-cms-dynamic-titles-04_eb3e62499fabd6cc8ff66652ff78f27b.png"
                 alt="Craft Cms Dynamic Titles 04" style="max-width: 1690px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/craft-cms-dynamic-title-formats-5296/craft-cms-dynamic-titles-04.png" alt="Craft Cms Dynamic Titles 04"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>You can see, that you have a clean title for each item. And a positive side effect is that you have disjoined your long title into short pieces and this gives you the possibility to change your entire title format in the future very easily.</p>
<p>I'm a big fan of title generation like this and I/we use it more and more.
 </p>
<p>What do you think about it? Any use cases for this in the future? Give it a try, it's awesome!
</p>
  </div>

  
</div>

                    </div>
                            ]]>
      </content>
    </item>
        <item>
      <title>Apple AirPods Pro</title>
      <link>https://davidhellmann.com/blog/reviews/apple-airpods-pro</link>
      <pubDate>Sat, 30 Nov 2019 01:03:00 +0000</pubDate>
      <author>davidhellmann</author>
      <guid>https://davidhellmann.com/blog/reviews/apple-airpods-pro</guid>
      <description>
        <![CDATA[
          <p>Years ago as wireless headphones comes more popular I was really against this hype. The reason was so simple as it was stupid. I liked the style when your headphone cable hang around. When you walk. When you ride your bike. When other people are on there skateboard an the - mostly - white cables fly around when they do some flips. It's for me fascinating as tapes years before. Technically there are much better solutions out there but they have not the personality as this older counterparts. What ever… iPhone lost there headphones jack and this means for me: The Drops is gelutscht! Now I've to get my act together... AirPods... yes!
 </p>
<p>Few weeks ago, the new <a href="https://amzn.to/2OwzS0i">Apple AirPods Pro</a>* came around and I'm so fucking weak when new tech knocks on the door. It started as usual… I heard about it is step one. Now, I have to find out more about the new product - in this case the <a href="https://amzn.to/2OwzS0i">Apple AirPods Pro</a>* that means I go to the Apple Website and see the wonderful marketing page. Apple: 1, David 0! It's hard to resist when you see something new with a good presentation and you're weak. However, this time I'm strong. I'm not clicking the buy button. I'm searching for reviews, unboxing videos and stuff like this. What say people about it. It's the phase where I'm fight with my bank account against the industry! Most of the time I'm the winner! OK, maybe this is a lie. But I'm a clever guy. I can talk my way through everything. WHEN I buy the new AirPods now, I can sell my old AirPods with a good value. And the new AirPods become so cheap. THIS!
 </p>
<p>Two weeks after I visit the Apple Website to find out more, I've new <a href="https://amzn.to/2OwzS0i">Apple AirPods Pro</a>* in my Hand. I sold my old <a href="https://amzn.to/2swyceH">AirPods</a>* for cheap 80,- bucks. Not that much but it's ok. I bought the new <a href="https://amzn.to/2OwzS0i">AirPods Pro</a>* for 259,- — FUCK, that's a lot of money!! 20,- cheaper and this two weeks after release, thats fine. But enough story around…</p>

                    
                    <img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/_1280x800_crop_top-center_80/apple-airpods-pro-04.jpg" width="1280" height="800" alt="Apple AirPods Pro">
                  ]]>
      </description>
      <content>
        <![CDATA[
                                                        <div class="contentBuilder  contentBuilder--blog">
              
                              
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Years ago as wireless headphones comes more popular I was really against this hype. The reason was so simple as it was stupid. I liked the style when your headphone cable hang around. When you walk. When you ride your bike. When other people are on there skateboard an the - mostly - white cables fly around when they do some flips. It's for me fascinating as tapes years before. Technically there are much better solutions out there but they have not the personality as this older counterparts. What ever… iPhone lost there headphones jack and this means for me: The Drops is gelutscht! Now I've to get my act together... AirPods... yes!
 </p>
<p>Few weeks ago, the new <a href="https://amzn.to/2OwzS0i">Apple AirPods Pro</a>* came around and I'm so fucking weak when new tech knocks on the door. It started as usual… I heard about it is step one. Now, I have to find out more about the new product - in this case the <a href="https://amzn.to/2OwzS0i">Apple AirPods Pro</a>* that means I go to the Apple Website and see the wonderful marketing page. Apple: 1, David 0! It's hard to resist when you see something new with a good presentation and you're weak. However, this time I'm strong. I'm not clicking the buy button. I'm searching for reviews, unboxing videos and stuff like this. What say people about it. It's the phase where I'm fight with my bank account against the industry! Most of the time I'm the winner! OK, maybe this is a lie. But I'm a clever guy. I can talk my way through everything. WHEN I buy the new AirPods now, I can sell my old AirPods with a good value. And the new AirPods become so cheap. THIS!
 </p>
<p>Two weeks after I visit the Apple Website to find out more, I've new <a href="https://amzn.to/2OwzS0i">Apple AirPods Pro</a>* in my Hand. I sold my old <a href="https://amzn.to/2swyceH">AirPods</a>* for cheap 80,- bucks. Not that much but it's ok. I bought the new <a href="https://amzn.to/2OwzS0i">AirPods Pro</a>* for 259,- — FUCK, that's a lot of money!! 20,- cheaper and this two weeks after release, thats fine. But enough story around…</p>
  </div>

  
</div>

          
       <div class="block  block--fullImage  js_waypointTrigger">
  <div class="blockInner  blockInner--fullImage">
                
        
                <figure class="lazyload" style="background-image: url(/uploads/imager/uploads/images/apple-airpods-pro-5258/5288/Apple_AirPods-Pro_New-Design_102819_191130_020019_488a3485f20807633239db5f006762eb.jpg)" data-bgset="/uploads/imager/uploads/images/apple-airpods-pro-5258/5288/Apple_AirPods-Pro_New-Design_102819_191130_020019_1c1e551d0d0d63e870bb6eab187c5880.jpg 1600w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5288/Apple_AirPods-Pro_New-Design_102819_191130_020019_989e3fffb561fbb48d9e7064779d3b96.jpg 800w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5288/Apple_AirPods-Pro_New-Design_102819_191130_020019_1e37d3dca6b332ebe56a9e995c33fc0f.jpg 400w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5288/Apple_AirPods-Pro_New-Design_102819_191130_020019_488a3485f20807633239db5f006762eb.jpg 40w"
            data-sizes="auto">
      <noscript><img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/Apple_AirPods-Pro_New-Design_102819_191130_020019.jpg" alt="Apple Air Pods Pro New Design 102819"></noscript>
    </figure>

    <div class="caption">
      <h1>
        
      </h1>
    </div>

  </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Is it worth the money?</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>It's not a simple yes or no answer so let me try to explain. I think with this price tag there are better headphones that you can buy BUT maybe not InEar headphones. I'm in the Apple bubble and it's every time like magic when you pair a new product with your iPhone. It simply works! Personally I'm not that audiophile to say: WOW, the sound is so amazing. Or something like: Mah, sounds like shit. For me the sound is fine. Nothing to criticize here. The main feature was ANC (Active Noise Canceling) why I was interested to buy the headphones. They are my first ones with ANC and I was not sure if I needed or if I like it. After playing a bit with the three different options (ANC one, normal InEar-Style, Transparency Mode) I can say thats wonderful to have it. This week I go the train in the morning (yes, we're living countryside now and have to use the train to come to work) and that was the first time that I heard a podcast while I'm going around. Leave the house with the transparency mode. After few steps I switched to the ANC mode and fuck. It's a magic moment when it fades smooth from transparency to the ANC mode. Afterwards it was silent. A bit strange first but some few steps later it was as it was never different. The podcast has begun and I was in the middle of the crowd. Later in the train, I heard nearly nothing around me. I was in my ANC bubble and this was fine. Now when I have the headphones in my ears it's mostly with the ANC option. It's great. I like it and I hope that doesn't change. But there are some other things that I also like.</p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--2">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/apple-airpods-pro-5258/5279/apple-airpods-pro-04_cc702621e1ada645379b41e60b8ae4bf.jpg 1080w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5279/apple-airpods-pro-04_0a33e616dcf91aaa69053b9d00a1b92d.jpg 800w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5279/apple-airpods-pro-04_6b2703e2d91301196846d6d1fadc5f4e.jpg 400w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5279/apple-airpods-pro-04_eb3e62499fabd6cc8ff66652ff78f27b.jpg 50w"
                 src="/uploads/imager/uploads/images/apple-airpods-pro-5258/5279/apple-airpods-pro-04_eb3e62499fabd6cc8ff66652ff78f27b.jpg"
                 alt="Apple Airpods Pro 04" style="max-width: 1080px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/apple-airpods-pro-04.jpg" alt="Apple Airpods Pro 04"></noscript>


                    </figure>

      </div>
          <div class="gridImage  image_2  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/apple-airpods-pro-5258/5277/apple-airpods-pro-02_cc702621e1ada645379b41e60b8ae4bf.jpg 1080w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5277/apple-airpods-pro-02_0a33e616dcf91aaa69053b9d00a1b92d.jpg 800w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5277/apple-airpods-pro-02_6b2703e2d91301196846d6d1fadc5f4e.jpg 400w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5277/apple-airpods-pro-02_eb3e62499fabd6cc8ff66652ff78f27b.jpg 50w"
                 src="/uploads/imager/uploads/images/apple-airpods-pro-5258/5277/apple-airpods-pro-02_eb3e62499fabd6cc8ff66652ff78f27b.jpg"
                 alt="Apple Airpods Pro 02" style="max-width: 1080px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/apple-airpods-pro-02.jpg" alt="Apple Airpods Pro 02"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>The Case</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>The case has a bit another form factor as the previous versions but nothing to talk about. But I think the case quality it's a bit better as before. When you close the case it sounds like quality. I like that. </p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--1">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/apple-airpods-pro-5258/5289/Apple_AirPods-Pro_New-Design-Case-And-AirPods-Pro_102819_c1fce77f2dd78989ac3a9e09194f88d9.jpg 1600w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5289/Apple_AirPods-Pro_New-Design-Case-And-AirPods-Pro_102819_ad071e03e12443d8242d27ef9a4f3049.jpg 800w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5289/Apple_AirPods-Pro_New-Design-Case-And-AirPods-Pro_102819_1a90d49b4247e67a558b11f0a5f90325.jpg 400w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5289/Apple_AirPods-Pro_New-Design-Case-And-AirPods-Pro_102819_8f702f30a51445d41f04b9e11426e0b3.jpg 50w"
                 src="/uploads/imager/uploads/images/apple-airpods-pro-5258/5289/Apple_AirPods-Pro_New-Design-Case-And-AirPods-Pro_102819_8f702f30a51445d41f04b9e11426e0b3.jpg"
                 alt="Apple Air Pods Pro New Design Case And Air Pods Pro 102819" style="max-width: 3000px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/Apple_AirPods-Pro_New-Design-Case-And-AirPods-Pro_102819.jpg" alt="Apple Air Pods Pro New Design Case And Air Pods Pro 102819"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Form Factor</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>When you know just the normal AirPods it's all fine. They look great. Small, great design. Nearly perfect? But now, when you know the AirPods Pro the old ones looks old. Every time again this is fascinating for me. Now they are smaller and more futuristic as the old ones. </p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--2">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/apple-airpods-pro-5258/5287/Apple_AirPods-Pro_Expanded_102819_82f46c73c5a22a5804f2fc4ce75194ff.jpg 1600w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5287/Apple_AirPods-Pro_Expanded_102819_c21e5dcab0e3a3febaa7a3e719cd50ef.jpg 800w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5287/Apple_AirPods-Pro_Expanded_102819_22cfa0ff5d106abb21135ab6109e6595.jpg 400w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5287/Apple_AirPods-Pro_Expanded_102819_3b45c6652324d11a481fc7e91f0a4f56.jpg 50w"
                 src="/uploads/imager/uploads/images/apple-airpods-pro-5258/5287/Apple_AirPods-Pro_Expanded_102819_3b45c6652324d11a481fc7e91f0a4f56.jpg"
                 alt="Apple Air Pods Pro Expanded 102819" style="max-width: 4086px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/Apple_AirPods-Pro_Expanded_102819.jpg" alt="Apple Air Pods Pro Expanded 102819"></noscript>


                    </figure>

      </div>
      </div>
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Other Features?</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>Water resistant! Big feature for me cause I use the headphone also when I go ride my bike. Definitely a huge advantage to the old ones.</p>
  </div>

  
</div>

          
        
<div class="block  block--headline  js_waypointTrigger">
  <div class="blockInner  blockInner--headline  left">
    <h2>Conclusion...</h2>
  </div>
</div>

          
        <div class="block  block--copy  js_waypointTrigger">
  
  <div class="blockInner  blockInner--copy  blockInner--center">
    <p>I think it's hard to say the are worth that money. For me I think yes, it's worth that money. But maybe you're saying the opposite. We're both right. Buy your own <a href="https://amzn.to/2OwzS0i" target="_blank" rel="noreferrer noopener">Apple AirPods Pro on Amazone</a>*</p>
<p><br />* = Affiliatelinks/Werbelinks</p>
  </div>

  
</div>

          
        <div class="block  block--gridImage">
  <div class="blockInner  blockInner--gridImage  gridImageCols  gridImageCols--2">
          <div class="gridImage  image_1  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/apple-airpods-pro-5258/5278/apple-airpods-pro-03_cc702621e1ada645379b41e60b8ae4bf.jpg 1080w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5278/apple-airpods-pro-03_0a33e616dcf91aaa69053b9d00a1b92d.jpg 800w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5278/apple-airpods-pro-03_6b2703e2d91301196846d6d1fadc5f4e.jpg 400w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5278/apple-airpods-pro-03_eb3e62499fabd6cc8ff66652ff78f27b.jpg 50w"
                 src="/uploads/imager/uploads/images/apple-airpods-pro-5258/5278/apple-airpods-pro-03_eb3e62499fabd6cc8ff66652ff78f27b.jpg"
                 alt="Apple Airpods Pro 03" style="max-width: 1080px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/apple-airpods-pro-03.jpg" alt="Apple Airpods Pro 03"></noscript>


                    </figure>

      </div>
          <div class="gridImage  image_2  js_waypointTrigger">


                        

        
          
        

                
                
        

        <figure class="waypointElement  fadeInUp  js_waypointElement">

            <img class="lazyload"
                 data-sizes="auto"
                 data-srcset="/uploads/imager/uploads/images/apple-airpods-pro-5258/5276/apple-airpods-pro-01_cc702621e1ada645379b41e60b8ae4bf.jpg 1080w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5276/apple-airpods-pro-01_0a33e616dcf91aaa69053b9d00a1b92d.jpg 800w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5276/apple-airpods-pro-01_6b2703e2d91301196846d6d1fadc5f4e.jpg 400w, /uploads/imager/uploads/images/apple-airpods-pro-5258/5276/apple-airpods-pro-01_eb3e62499fabd6cc8ff66652ff78f27b.jpg 50w"
                 src="/uploads/imager/uploads/images/apple-airpods-pro-5258/5276/apple-airpods-pro-01_eb3e62499fabd6cc8ff66652ff78f27b.jpg"
                 alt="Apple Airpods Pro 01" style="max-width: 1080px;">
          <noscript><img src="https://davidhellmann.com/uploads/images/apple-airpods-pro-5258/apple-airpods-pro-01.jpg" alt="Apple Airpods Pro 01"></noscript>


                    </figure>

      </div>
      </div>
</div>

                    </div>
                            ]]>
      </content>
    </item>
      </channel>
</rss>
