Looks great, Yuvi! Thanks for writing this post. It’s a challenging piece to write, but it’s desperately needed. Thanks for tackling it!
One thing to be aware of… I (and others) have been working on splitting the notebook frontend from the backend server. Once this is finished, all frontend clients—like JupyterLab, nteract_on_jupyter, Voila, and even the classic Notebook—become “server extensions”. This doesn’t really change your post, but might be something we have to include ad hoc, once that work is finished. Some server extensions will just become “heads” to a headless Jupyter Server.
Another thought… it might be fun to create an illustration that shows how all extensions relate to each other in one picture. Maybe we could recruit the artists that drew the hub illustrations here?