Skip to content

First-use feedback: silent slow activation over Remote-SSH reads as broken; navigation history impressions #469

Description

@ericwinger

Observations from the third of three screen-capture sessions in which a developer used Jasper for the first time and narrated as he went. This one is mostly positive — it covers the root cause of the earlier "Remote-SSH doesn't work" conclusion, and his reaction to code navigation. Timestamps refer to video 3.

The bug worth fixing: silent, slow install over Remote-SSH (0:05–0:57)

This explains the failure reported in the first session. He had concluded Jasper did not work in a VS Code Remote-SSH window and abandoned the attempt. It was working the whole time:

"What I forgot was when you are doing, using things like plug-ins through SSH on remote hosts, plug-ins take a lot longer to download and to install, and so I had abandoned the attempt, but I had not closed the window, and a little while later… the window popped up because suddenly a process that took a long time had finished and it wanted my attention. So I discovered that where I thought Jasper was not working through SSH, it turns out it actually is, and it's working quite well."

A long silent operation cost a new user an entire session and left him believing the product was broken in his environment.

  • Show progress and a "this can take several minutes over a remote connection" note while the extension installs or activates in a Remote-SSH window.
  • Make sure anything that looks unresponsive during activation reads as in progress, not failed.
  • Add a short note to the docs that first activation over Remote-SSH is slow.

Navigation: confusing, then resolved (2:47–5:41)

He hit what he thought was a defect and then talked himself out of it — but the confusion is still real and is worth checking.

Sequence: he used Go to Definition, got a peek pane, double-clicked to promote it, then tried the editor Back/Forward buttons.

  • "Oh, that just takes me back to a prior pane."
  • "This is navigating in a way I didn't expect. Oh, actually, we may have a defect… when I tried to navigate forward, I expected it would take me back to where I was looking at the add new association, but it doesn't get that far, so we may not be interacting with the forward and back buttons up here very well."
  • Then, later: "Oh, now it interacts with the forward and back button. It could be that it didn't remember it before because I hadn't locked in that tab" — i.e. VS Code preview-tab semantics (italic title, not sticky, replaced by the next navigation).
  • His conclusion: "the issue that I pointed out is probably not an issue."

He is probably right, but he spent about three minutes there and needed prior VS Code knowledge to resolve it.

  • Verify that Jasper's editors participate in VS Code navigation history the same way native editors do, including from a peek pane and across preview→pinned promotion.
  • Confirm Jasper honors preview-tab conventions (italic title, single-click preview, double-click to pin) consistently.

What worked — worth protecting in future changes (0:57–2:47)

Recording this because it is the behavior he most wanted, and it landed:

"Remember how I said you should be able to right click on something and go to the definition or whatever… I right click on this, and look, go to definition, and it pops up the definition, exactly like what I would expect in VS Code. So I am quickly changing from doubts about how we implemented this, to giddy joy… this is behaving the way I would expect a VS Code plug-in to behave, because this is the kind of stuff I see in other languages as well."

Peek, read, close with the X, return to the original code — all matched his expectations from other languages. His closing note: "So far, everything is working the way I would expect, and I think we are on a good path here."

The lesson for the rest of the extension: the closer Jasper stays to native VS Code conventions, the less any of this needs explaining. Most of the friction in the first two sessions was in places where Jasper does something of its own.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingdocumentationImprovements or additions to documentationideIDE component

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions