Thanks for starting this discussion.
I, for one, am interested (and am in the process of pitching internally) a full Lumino/Lab3-based “skin” of the hub UI. While not every hub/team would benefit from this, there are a lot of use cases for where it would make sense.
My motivation is that I’ve found a number of bespoke hubs end up having to do a lot of skinning in tornado/jinja/bootstrap-land that can make it harder to upgrade when something changes upstream. The template/handler hacks get propagated by cargo-culting, and generally don’t compose very well.
I imagine being able to log into my hub, and without starting any kernels, have a quick look at composable UI provided by different
conda-installable modules on the head node, tying into hub-managed services, or external things, either before or after log-in:
- the current State of the Hub, either with a heavyweight solution like grafana, or something lighter-weight with vega
- for calendar-aware hubs, upcoming meetings, etc. that could be backed by jupyter-videochat, which is already pretty hub-focused
- for binder-aware hubs, something that lets you get a quick look at what are the current popular deploys, as well as context-aware embeddings of the binder/nbgitpuller generators, etc.
- for slurm/dask/prefect/dagster/papermill-aware hubs, see the state of long-running processes, and potentially authoring new ones with LSP support (ideally in-browser, as we haven’t even begun to think about what that would mean)
- though something like sourcegraph would play extremely well… code search across my whole hub? mmmmm
- for dataset-aware hubs, some skin on CKAN/whatever to see hot-and-fresh data sets, maybe an already-logged-in REST/query explorer
- for package manager/CI-aware hubs, the hottest in-house packages, installers, docker images, PDFs, whatever it is you are building
- for VCS-integrated hubs, a quick look at my projects/PRs, etc
- for LMS-integrated hubs, a quick look at the assignments, comments I’ve got coming up, or steps needed to complete assessment
- for chat-enabled hubs (e.g. zulip, matrix, mm), a quick look at my recent topics
- …and yes, static docs! but ideally something even smarter, e.g. can spin up a thebelab/voila apps, can use these other concepts to Go to definition, offer rich commands, etc.
Across all of that (and likely guiding it), a faceted search capability, which combines results from whatever search APIs they provide natively, but combined into something more harmonious.
A big win here would be the further ability to re-use some of these components within a then-spawned Lab, and similarly to use Lab themes and translations at the “door handle” of the interactive computing experience. Bringing some of the concepts from lab (like commands, keyboard shortcuts, user preferences, etc) would further reduce the dissonance between “I’m about to interactively compute” and “I am interactively computing”