Kategorien
Allgemeines

Working in times of Corona – teams rules

A lot of people asked me in the last months what has changed since I work from home “in these times”. Honestly, for me, nearly nothing changed. Mostly even went to the better. 

Software Development is a remote work

As my activities around coding and building applications were already remote quite often. I had teams located in the US, UK, India, and Bulgaria in the last 20 years. I’m suddenly not able to travel to these places anymore. Even offices are not interesting anymore, as most staff works from home. For me, as someone that always traveled at least 2–3 days a week a big change. 

The good one

My family, wife, and daughter finally have me 5 days available in the afternoon the week, plus weekends. This really leads into discussions like “when do you travel again?” — not really because they want me away, more like: „Does your job really works nearly 100% remote?“ To be honest, initially, I was a bit critical, meanwhile, I would support this statement fully. There is no difference. Sometimes the sarcastic smile is missing, but this can be overcome by using Video.

What changed?

Before Covid, I may have spent 2–3h a day on Video conferences and tools. Today I spend up to 8h a day. Does this lead to situations where you really miss personal connections — we already started discussions on how we can adjust and overcome this. Seeing your team member reacting to someone explaining or having an argument can often shorten discussions, as you know that others think the same. Online only meetings tend to „beat a dead horse“ as everyone often needs to be heard. The personal interaction is missing.

My environmental impact

The biggest change for sure is that I do not travel and pollute the planet. Before, I sat in trains for 30-40.000 km a year. And I traveled around the world using airplanes to India, the US, or Eastern Europe. This has completely dried out. And I do not miss any of these hours. Sure, I found great places for food around the world, coffee shops, or places to buy stuff, but I now tend to get more local. I hope that I can save this for the future. One big start was, that I was able to be vegetarian now since last year December, and I finally try to get away from Cheese these days.

Conclusion

There will be times where I need to travel to clients again, I also miss my friend contacts in and all over Europe, seeing them and having a drink with them. But this also gave me time to rethink if everything needs to be onsite. That time spent on trains, cabs, airplanes has been much more productive now. And reviewing code, writing code, documenting things, and talking about features can easily be done in collaboration tools.

I’m not sad about this.

Kategorien
Allgemeines

Ticwatch Pro 3 GPS from Mobvoi annoying backlight of Display

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

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

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

Kategorien
Allgemeines

Efficient Chromium or just a bad monopoly

Maybe time for some re-thinking about the Chromium based Browser.

As IE had a majority in the 2000 everyone was claiming Microsoft for this and US even acted. Now Chromium has in some countries 95% coverage.

Imagine all cars would come from one base manufacturer. Think of builders that are only allowed to build the surrounding with basics that are “efficient” as this manufacturer defines it (Yes, it is open source, but there are gate-keepers).

Car-Basics

  • Fixed Speed limit like smart to 145km/h
  • e-CVT like Toyota
  • FIAT 2-cylinder Twin Air engine
  • Only Super Plus allowed for fuelling
  • Radio is Spotify

Horrible, or? But this is what we have currently. Support Mozilla.

Kategorien
Allgemeines

Powerwatch angekommen!

Die Powerwatch ist da. Und ich muss nicht mehr ans Laden denken.

Irgendwie erinnert mich das an die leidige Diskussion um batteriebetriebene Autos. Je weniger Gedanken man sich um das Aufladen machen muss, umso mehr akzeptiert man Technologie. Tesla macht das doch ganz gut mit den Superchargern. Kein Streß mehr und man geht viel entspannter mit dem Gerät um.

So jetzt auch bei der Powerwatch. Als ich auf Indiegogo sah, dass sie angeboten wird, habe ich sie gleich unterstützt. Noch dazu weil cih echt Geld sparen konnte. Nach einem Jahr habe ich sie erhalten. Und was soll ich sagen: Einfach entspannt, nie mehr ans Aufladen denken zu müssen. Bisher ist die Batterieanzeige kein einziges Mal von „voll“ weg. Selbst als ich 45 Minuten GPS an hatte beim Laufen.

Die Uhr erzeugte Energie durch den Unterschied der Körperwärme und der Umgebung. Dazu noch ein kleines Photovoltaik Panel. Bisher reicht mir das.

Die Funktionalität ist noch etwas dünn. Nur wenige Notifications, kein Wecker und Einstellungen wie Display oder Personalisierung sind noch nicht verhanden, aber geplant. Und wennn ich die Frequenz der Firmware Updates sehe, glaube ich auch, dass das bald kommt. In den FAQ wird es zumindest schon genannt.

Kategorien
Aktuell Allgemeines HTML Stuff

Should I use Web components?

At my current employer we do all kind of Web Applications. We call it Experience Technology. These customer user experiences have different needs. Sometimes we do static content deliverables like temporary marketing campaign pages, or knowledge bases that never get touched again. More often we do enterprise shopping experiences, catalogue maintenance, and other e-commerce platforms.

Asking someone of my team how to build their next customer user experience I get named: React, VUE, Svelte or at last, Angular. Normally no one tells me yet: Let’s do it native, let’s use Web Components.

Do I know why?

Maybe

Why the frameworks are so common and preferred is having some reasons:

  • They offer a community
  • Searching for an issue or supporting library for sure returns an Stackoverflow entry or an NPM library
  • There is great support by someone that has „already done this“
  • For Business: It is good to have something to sell that everyone knows

A quick poll

Doing a quick poll with our experience technologists hardens the opinion.

Showing React 58%, Angular 3%, VUE 15%, Native Web Components 7%. Other 13%

Observing the obvious

Using frameworks and libraries for everything, causes problems that could be prevented. Average weight of a page is increasing. Complexity of generated code too. Views of common frameworks and libraries are often ridiculous complicated and deep nested and adding libraries and grid systems is done with a click. Importing without seeing the direct deeper effect. On top of that, Designers create complex animations and placeholders and forget that we still have low-end devices to support and not an ideal-world fast internet. Accessibility and search, like find-ability is getting worse. When useless containers are nested and semantics are getting lost.

On top of all, GDPR compliance is bad to achieve as of often third parties are used in a way that makes it hard to know where your customers details are getting shared.

This directly leads me to the this ask: Do we at all need to use a framework or library? Can’t we use Web components?

Webcomponents.org tells a clear use case, but why does still no one considers it first place to use it as base in their projects?

Web components are a set of web platform APIs that allow you to create new custom, reusable, encapsulated HTML tags to use in web pages and web apps. Custom components and widgets build on the Web Component standards, will work across modern browsers, and can be used with any JavaScript library or framework that works with HTML.
Web components are based on existing web standards. Features to support web components are currently being added to the HTML and DOM specs, letting web developers easily extend HTML with new elements with encapsulated styling and custom behaviour.

Webcomponents.org

Would there be any advantage when using them instead of a framework? Long-term for sure. Imagine a situation where Facebook stops support for React, or Google for Angular. Sooner or later libraries might get outdated. The community for sure support it for some years, but it can stop. There is no guarantee that it works long. There are also new Libraries popping out every day.

As we started writing decoupled user experiences, using micro-services and micro-frontends, we forgot to enable us to create long lasting frontend code, that is maintainable. Instead of using native functionalities, write proper markup and getting accessible and search engine friendly.

We now create a dependency to a framework that is maybe out-dating soon. Any reason to do so?

Not really!

Frameworks and libraries should help us organizing and writing our code and deliverables, but not overtaking our thinking and tooling. It is not reasonable that we deliver whole applications to clients browsers, when the contents never or only every view months change. We should instead build more meaningful smaller applications. We even need to render server side, using JavaScript.

A quick excursion on what Web Components are

Using Web components would allow us to get back to standards, using browser supported simple tooling.

So why should you consider Web components as complement for frameworks and libraries?

  • They are already a standard!
  • They work cross browser (Can I use it?)
  • They are simple and stand-alone
  • They are already used
  • They are future proof!

The details

Web components are the wrapper name for a set of techniques that create browser rendered interfaces. They are created through custom elements, shadow DOM, HTML templates and HTML modules. The latter is yet not widely adopted by browsers.

Custom Element

Setup a JavaScript file that contains the code for your custom element.

class MyCustomElement extends HTMLElement {    
  connectedCallback() {
    this.innerHTML = `<p>Some Text</p>`;
  }
}
window.customElements.define('my-custom-element',  MyCustomElement)

You need a DOM node that can initialise it.

<my-custom-element></my-custom-element>

Shadow DOM

With your custom element you can add coloured text in the context of other text paragraphs. You can capsule your styles that only belonging to the needed node.

const shadowRoot = document.getElementById('fetched').attachShadow({ mode: 'open' });
shadowRoot.innerHTML = `<style>
p {
  border: 1px solid red;
  padding: 5px;
}
</style>
<p id="paragraph">Paragraph using <slot></slot></p>`;

Create some HTML to connect your code with it.

<span id="fetched">Slot</span>
<p id="paragraph">Normal Text</p>

Shadow DOM like shown below will be generated.

<body>
  <span id="fetched">    
    <#shadow-root>
      <style>
      p {
        border: 1px solid red;
        padding: 5px;
      }
      </style>
      <p id="paragraph">Paragraph using Slot</p>
    </#shadow-root>
  </span>
  <p id="paragraph">Normal Text</p>
</body>

Use HTML Templates

Stay DRY. Use HTML templates. Look at the the above example. If you want to render more paragraphs, you can repeat your <p> or just use a <template>. It is obvious what is wet and what is dry.

You can use them together with custom elements and shadow root, or alone.

<template id="template">
  <p></p>
</template>
<section id="paragraphs"></section>

How to render a HTML template.

const paragraphs = document.getElementById('template');
const text = [
  { node: 'Text 1' },
  { node: 'Text 2' },
  { node: 'Text 3' }
];
text.forEach(text => {
  const domNode = document.importNode(paragraphs.content, true);
  domNode.querySelector('p').innerHTML = text.node;
  document.getElementById('paragraphs').appendChild(domNode);
});

Did I missed HTML Modules?

Nope. But they are currently considered. So let’s see.

What else to consider

Take also into account that all is maintained in a component library. Handled in a DSM provided by InVision, Figma, or Design Kits like Sketch. We need to ensure to reuse our code and Styles. Design Tokens help here. Amazon has Style Dictionary, but there are others. And ideally, have a direct connect to your repository. (More would be subject of a full own post)

But my client has IE11 as standard browser!

Ask them why! Seriously!

If they still insist, and maybe even have a dated soon to be replaced Edge: there are Polyfills available, they render the components as HTML for you.

Any other input?

More and more Frameworks and libraries arise that help generating your applications with Web components. They offer build in test ability, design libraries, pattern libraries and more. There are well established ones like Polymer or Stencil. You can find more on the web component page list. So if you do not want to do it manually. Use provided tools. 

What to do

There is no golden hammer that makes all your problems a nail. But you should consider re-usability, need of the current implementation, and how long it will exists. Then it can help you making a decision.

Static rendering for interims campaign pages, knowledge bases, and so on can improve SEO, size, and customer experience. Full blown SPA with a checkout or profile management, and a healthy mixture for catalogue can do their part on this.

But the base of all should be a Web component. Just do it.

Resources mentioned and used

Fun fact

Yes, you can also make Web components complicated.

Kategorien
Allgemeines

Sag hallo zur Bangle.js!

Mannomann, endlich wieder eine JavaScript unterstützende Smartwatch. Noch dazu zu einem unschlagbaren Preis. Ich habe gleich das kleinste Paket unterstützt. Mal sehen ob sie im Frühjahr geliefert wird. Nachdem ich die Pebble geliebt habe, und ich immer noch eine Pebble 2 trage, bin ich echt enthusiastisch!

Schaut euch die Bangle.js an!

Kategorien
Allgemeines

Powerwatch 2 verzögert sich

Spannend war es schon immer Produkte zu unterstützen indem man in die Entwicklung investiert. Dass viele dies als Bestellung eines Produktes verstehen, macht es schwer die richtigen Kommentare aus der Masse der „wann liefert ihr endlich“ Kommentare zu filtern.

Klar würde ich mich freuen, wenn die Macher bei Indiegogo im Juli geliefert hätten. Aber hey, jetzt wird es halt ein Weihnachtsgeschenk. :-)

Wer hat noch die Smartwatch powered by you. Matrix Powerwatch 2 gebackt und wartet?

Kategorien
Allgemeines

Schloss Hogwarts™ 71043 done

Was ein Spaß. Bisher habe ich immer nur Lego Technics gebaut. Als jetzt das Hogwarts Schloss von Lego angekündigt wurde, musste ich zuschlagen. Hat wirklich viel Freude bereitet. Den letzten Beutel mit der Nummer 37 haben wir uns eine Woche aufbewahrt. Sonst wären wir an einem Wochenende fertig gewesen. ;o)

Kategorien
E-Mails

Polizei in Schleswig Holstein nimmt es nicht so genau

Ich war schon etwas erstaunt als diese E-Mail bei mir aufschlug. Nun denn. Ich habe geantwortet.

Kategorien
Aktuell HTML Stuff

Clickjacking Kampagnen bei Google Adsense

Seitdem ich mich mit Advertisement und Performance Media beschäftige, stolpere ich immer mehr über die eklatanten Lücken die das System hat. Der folgende Beitrag bei Malwarebytes beschreibt anschaulich wie exzsiv mittlerweile betrogen und beschummelt wird. Jetzt könnte man sagen: „Mir doch egal, trifft doch eh nur die Reichen von Google oder Facebook“. Dem ist aber leider nicht so. Die Brands (Marken) bezahlen den ganzen Mist und die Publisher bekommen davon nur noch einen Bruchteil ab. Was das Ergebnis ist: Mehr Werbung, da weniger Reichweite, mehr Ausgaben der Brands und damit mehr Kosten auf der Werbeseite und damit teurere Produkte. Und wir haben im Ganzen als Nutzer rein gar nichts davon. Daher müssen wir anfangen ein besseres Netzwerk zu unterstützen. Wirklich lesenswert!

Clickjacking-Kampagne missbraucht Google Adsense, vermeide Werbebetrugsbots

 

Kategorien
Allgemeines

Privatsphäre und auch noch Geld dafür?

Interessant, der Brave Browser macht etwas was die Anderen nicht tun. Er blockt Werbung einfach immer. Man kann sie frei schalten, oder auch einfach nur „saubere“ Werbung zulassen. Die Idee ist so einfach wie genial. Wo es etwas komplizierter wird ist, wenn man dann selbst Geld verdienen möchte, oder vielleicht den besuchten Seiten etwas von den BAT abgeben möchte. Man braucht ein Wallet bei einer Bank, mit der man den BAT auslösen oder befüllen kann. Das alleine gestaltet sich schon durch die Sicherheitsprozesse sehr aufwändig.

Für das Mobiltelefon gibt es die Lösung noch gar nicht. Aber dort hat man mit dem Browser auch den meisten Gewinn, da die Bandbreite vernichtende Werbung halt weg ist.

In Zukunft wird der BAT auf Devicen, Services und Dinestleistungen bereit stehen. D.h. damit wird so ziemlich alles möglich. Das gemietete Auto kennt dein Lieblingsrestaurant, dein Telefon weiß, wenn du gerade n einem Laden ein Schnäppchen bekommen kannst und die Echos werden dir nie mehr etwas unpassendes vorschlagen.

Schöne neue Welt? Ja, klar, aber nur wenn es mit dem BAT klappt ,)

PS: Der link oben ist ein Link der meinem BAT ein paar € gut schreibt, wenn ihr den Brave Browser installiert und längere Zeit nutzt und damit kann ich dann andere Publisher unterstützen.