Notifications beyond an email

We’ve had requests for more visible notifications when someone’s OnDemand job has started.

We already have email’s sent to users to notify them, but some have made the understandable critique that there are a lot of emails.

I wonder if you could update the title of the page automagically (via JS I presume) which should update the browser tab to indicate that a job/session had started?

@datakid I like this idea!

Right now when you’re on the Interactive Sessions page the title is “My Interactive Sessions”. What do you think about a “flashing” title for 5 or 10 seconds after a job has started?

T+1 - “Job 1234 started - My Interactive Sessions”
T+2 - “My Interactive Sessions”
T+3 - “Job 1234 started - My Interactive Sessions”
T+4 - “My Interactive Sessions”

Another idea is to create an “audit log” for all jobs so you can see everything in a table view. There is the active jobs app Active Jobs App — Open OnDemand 1.8.12 documentation for better job visibility, but I think integrating something similar directly into the dashboard as a widget like we do with XDMoD would be really nice.

1 Like

@datakid one issue here is the job sessions view is a list view that may contain multiple running sessions, though I wonder how often users actually launch multiple interactive sessions at the same time (probably rarely). For example, see the screenshot below:

Here I have three interactive sessions, two that are Running, one that is Queued. What would the title say? Maybe it would be all of the active sessions and their states (with or without the job id’s?). With three active sessions the title would be:

Running: VDI (Owens and Pitzer) (12990898), Queued: Owens Desktop (12990895), Running: MATLAB (12990894) - My Interactive Sessions
  • That is 131 characters, a little long for a title from accessibility standpoint

Maybe we just have info about the most recent session:

Running VDI (Owens and Pitzer) (12990898) - 3 active sessions - My Interactive Sessions
  • 88 characters is better

Another way this would be addressed is providing a details view for a single session which is something I wanted to do for a while. So then maybe there are two Launch options (Launch, Launch and Connect) and if you click “Launch and Connect” button on the web form it takes you to the details page. Then we would show the card if it were queued but when it starts running we would automatically attempt to connect, so the page would turn into the NoVNC page. Then the title would reflect the state. That will likely come in OnDemand 2.1+.

1 Like

Perhaps, desktop notification could be an option:

https://notifications.spec.whatwg.org/

A separate notification for each job as it starts. Not sure if it should be persistent or non-persistent - either way it could be useful for attracting user’s attention and bringing the user to the page with list of interactive sessions.

Just to add on to Wikiwide’s idea of different kinds of notifications/notification integrations; what about a slack message? This would allow slack to do the desktop notification part for you. With this you could also do other slack things with the notification if you wished. I don’t use slack very often, so I don’t know what you could do with it, but I figured sending it to that one place where you can manage notifications might be nice.

Ok, from the top - I like the idea of a briefly flashing title @mario

@efranz I don’t think the multiple sessions matters too much. I think the issue is directly aligned with attention and state change - we want to be alerted when something’s become available:

while waiting for launch, I’ll read something or go back to code clean up until I’m alerted to a state change

The state change is enough to flick back to the OOD tab and check what has changed. For my user, and potentially most users, my feeling is that this will be sufficient.

@Wikiwide I personally don’t like pop ups really, so it doesn’t get my vote. But happy to compromise on that.

@brandon-biggs I think a slack message would need to be a plugin or etc. I use slack - but not at the job I use OOD at. So in my case I’d want it to be Teams. Similar to the pop up idea, I don’t like the idea of automated messages flooding chat channels either - it’s not what chat channels are for, and (in my opinion) pollutes the chat. Again, I don’t feel strongly about that it’s a personal work flow preference.

The thing I like about the change in title is that it’s subtle, but enough, to note a state change. Between that an the email it should be sufficient?

I opened Notify users when job starts · Issue #917 · OSC/ondemand · GitHub to track work. I think that updating the title dynamically to reflect the state of the most recently submitted job in a format like Running VDI (Owens and Pitzer) (12990898) - 3 active sessions - My Interactive Sessions along with the Notifications API, which is user opt-in, along with an email, which is a scheduler/site specific configuration, may be a good first start.

So in this case though, if there are two queued sessions, and the older one turns to running, the browser tab title would not change, but the user could be notified via the Notifications API if they opt into that. So that is a drawback of the browser tab title only reflecting the state of the most recently submitted session. But most of the time users have 1 session at a time, not multiple.

Flashing title would make it noticeable but I think may be a problem accessibility-wise (most things flashing are). So I would want to avoid that.

Slack notifications (or Team notifications) is a very interesting idea though I think is much more involved since I believe we would need to A) register a Slack app and B) then there are still issues with enabling every user on your system to post messages to through that app - since all the code of these apps are running as the user. So it isn’t clear to me how we would go about implementing that in OnDemand.