Especially in case you have a lot of Tabs open inside your Browser, you are most likely using this feature on a daily basis. The drag&drop based re-sorting is fun to use and provides a great user experience.

Just to ensure that you have the same picture in mind:

Now, in case you look at most of today’s Web-based User Interfaces which are using Tabs, you will notice that there is no drag&drop based re-sorting in place.

This is actually a problem, since users are familiar with the feature and like it.

I picked up the challenge to implement…

Bundling Application code for dist versions has always been a challenge, especially in case you want to share code with several Apps or load multiple Apps on one Page.


  1. Introduction
  2. The “data flows downwards” paradigm
  3. How does importing JS modules directly into the Browser work?
  4. Is the Worker Scope supported as well?
  5. How can we achieve the same behaviour for our dist versions?
  6. A Webpack Love Story
  7. What is the tradeoff?
  8. Introducing the neo.mjs v1.4 Release
  9. Can we achieve the same without using neo.mjs?
  10. What can we do with this now?
  11. What is coming next?
  12. What is happening on the…

Many former colleagues and friends have reached out to me and asked: “How did you get this efficient and fast when working inside the UI area?”

While I have been using Javascript for 20 years, experience is really just a small point in a very fast evolving ecosystem.

The biggest impact was switching to JSON based virtual DOM, which boosted my own productivity by at least 200%. Yes, this literally means that I can develop complex UI code 3 times faster as I could before.

Since these concepts are still mostly unknown, I am writing this article to share my…

Especially in case your UIs are growing, it can significantly increase the performance → UX in case you keep the DOM minimal. For many use cases you still want to change the state of inactive (no longer rendered) views.


  1. Introduction
  2. The Problem
  3. The Solution
  4. How does it work?
  5. Can we achieve the same in Angular, React or Vue?
  6. Online Demo
  7. What is neo.mjs?
  8. Expanding Single Page Apps into multiple Browser Windows

1. Introduction

While watching the video, please focus on the DOM inside the dev tools. I am switching between different cards (active views), opening the settings side bar and am changing…


  1. Introduction
  2. The Problems
  3. The Solution
  4. Welcome to the neo.mjs v1.3.0 Release
  5. Is this App a PWA?
  6. The Website Source Code
  7. Live Demo
  8. Can we get a Tutorial on creating this App?
  9. What is coming next?
  10. Final Thoughts

1. Introduction

Please take a look at the Intro Video first, to get the idea:

2. The Problems

You might know the feeling: You create a new GitHub repository and start with a default GH Pages implementation using a default GH design skin. You add more and more content, and suddenly it looks like this:

Image for post
Image for post

This article is meant for recruiters, people working in HR as well as candidates. I think that there is the need for a significant change.


  1. Motivation of this article
  2. About me
  3. Basic infos on the Amazon hiring process
  4. Examples of good hiring processes
  5. My personal experience with the Amazon hiring process
  6. Be responsive: Communicate with your candidates
  7. Provide the relevant input
  8. Give feedback
  9. Be open minded — Don’t stick to standard patterns
  10. How to identify talent?
  11. How would I interview a developer instead?
  12. How to not reach out to me?
  13. Last words

1. Motivation of this article

This article is controversial and you might not…


  1. What are we going to build?
  2. Prerequisites
  3. Setting up the Infrastructure
  4. The result of this tutorial
  5. Creating the Footer
  6. Creating the Table View
  7. Loading the data for the Table View
  8. Adding renderers into the Table View
  9. Creating the Helix View
  10. Creating the Helix Controls Container
  11. Basic Routing
  12. Creating the 3d Gallery View
  13. Deploying your App for production
  14. Summary

1. What are we going to build?

Here is a demo video showing the different views of the App:

As you can see, this is already a pretty complex app. We will start from scratch and progressively enhance it, while looking into some of the basic concepts as…


  1. Introduction
  2. Scalable frontend architectures
  3. More background infos
  4. Benefits of the Shared App Worker
  5. How can DOM events still work?
  6. How do the Apps inside the Shared Covid App look like?
  7. How can we position Popup Windows to exactly overlay an existing Component?
  8. What are the use cases for the Shared Workers setup?
  9. Webpack based dist versions?
  10. What about Webkit / Safari?
  11. Online Demo
  12. What is coming next?
  13. Would you like a tutorial on how to transform the Covid App into the new Shared Covid App version?
  14. Close to the end game?
  15. Final thoughts

1. Introduction

For me, it was alway a big…


  1. Introduction
  2. What is neo.mjs?
  3. Enhancing the createApp program
  4. Development mode (Chrome v83+)
  5. Dist modes → Chrome
  6. Dist modes → Firefox
  7. What about Safari?
  8. Can we move Component Trees from one Window to another?
  9. Can we further scale the architecture if needed?
  10. What is coming next?
  11. v1.2.5 under the hood
  12. Recap: What are remote methods?
  13. SharedWorkers on mobile?
  14. Online Examples
  15. Final thoughts

1. Introduction

To me, this one feels like a milestone in the history of UI development.

A quick recap:

After Chrome added the full support for SharedWorkers, I was thrilled to get a first PoC ready as fast as possible. …

Tobias Uhlig

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store