HistoryMap icon indicating copy to clipboard operation
HistoryMap copied to clipboard

How to easily reproduce the session when an error occured

Open kaidatavis opened this issue 2 years ago • 12 comments

This would be important to report and reproduce bug.

It probably involves saving the browsing session, i.e., all the pages that were opened and the order/timing they were opened?

Maybe a 'playback' feature to reply the process?

kaidatavis avatar Dec 22 '23 12:12 kaidatavis

It probably involves saving the browsing session, i.e., all the pages that were opened and the order/timing they were opened?

Will it be enough to just save the pages array (hmPages)?

Maybe a 'playback' feature to reply the process?

Automatically add one page from the save session to the historyMap following the temporal order?

kaidatavis avatar Dec 22 '23 12:12 kaidatavis

Need a 'save' button on the historyMap page?

kaidatavis avatar Dec 22 '23 12:12 kaidatavis

This would be important to report and reproduce bug.

I agree. It is also useful for users to review the sensemaking session.

Will it be enough to just save the pages array (hmPages)?

It should be enough if the input of the tree is hmPages. But I'm not sure how the 'revisiting previous node' action is recorded. In the current mv3, clicking a node on the tree generates a new node, but clicking existing tabs in the browser does not update the array? This might depend on the decision of #135. If choosing option 2, maybe need another status array (or adding attributes to hmPage object)?

Yuu-Han avatar Dec 23 '23 04:12 Yuu-Han

@Yuu-Han, do you want to give this a go? Maybe just a simplest version that adds a 'save' and 'load' button to the historymap (hm.html):

  • The 'save' button saves the current hmPages as a json file.
  • The 'load' button loads a json file, i.e. a hmPage array, and then adds one hmPage a time to an empty 'hmPages. We don't want to mix with the pages currently opened in the browser, as this is mainly for debugging. Also, there would be nice to have some delay before adding a new hmPage` so user can catch up on what is happening. This can get more complicated by having 'play', 'pause', or even 'rewind' functions, but we can do this later.

Let me know if there is any question.

kaidatavis avatar Dec 26 '23 18:12 kaidatavis

Yes, I will have a try.

Are we going to open a new window to display the saved session? Another question is when a new hmPage is added, will the page be opened in the browser or just shown as the node in the historymap?

Yuu-Han avatar Dec 27 '23 02:12 Yuu-Han

It is not quite relevant to reproducing for debugging and not a high priority but I frequently find information helpful for another task when searching information for the task at hand. I don't quite know what is the term for this. Maybe something close to cross-task sensemaking? It will be nice if these links between sessions can be captured (in the distant future)?

Yuu-Han avatar Dec 28 '23 09:12 Yuu-Han

Are we going to open a new window to display the saved session?

Either is fine. We can just use your implementation.

Another question is when a new hmPage is added, will the page be opened in the browser or just shown as the node in the historymap?

Just the nodes. In the old extension user can click on a node to open that webpage in the browsers (not just for saved sessions). Opening all the pages in a saved session might create too many tabs.

kaidatavis avatar Jan 03 '24 13:01 kaidatavis

It is not quite relevant to reproducing for debugging and not a high priority but I frequently find information helpful for another task when searching information for the task at hand. I don't quite know what is the term for this. Maybe something close to cross-task sensemaking? It will be nice if these links between sessions can be captured (in the distant future)?

That's a very good idea. Do you want to create a new issue for this, so we don't forget it?

Another feature in the old extension is that use can highlight text or image a webpage to mark/save them. Once this is re-implemented, maybe we can introduce something like 'tags' to group content/information (similar to hashtag in x/twitter)?

kaidatavis avatar Jan 03 '24 13:01 kaidatavis

  • [ ] Putting the save and load functionality into the popup https://github.com/Vis4Sense/HistoryMap/issues/145#issuecomment-1882105990

Yuu-Han avatar Jan 09 '24 07:01 Yuu-Han

For the save and load button, are we better to put it in the popup or on the historymap?

Yuu-Han avatar Jan 10 '24 07:01 Yuu-Han

Personally I think it is easier for the user to have the save/load on the HistoryMap page, but we can discuss at the next meeting.

kaidatavis avatar Jan 10 '24 10:01 kaidatavis

Currently the hmPages does not have all the information needed to reproduce the entire process, which may need to be added later (a separate issue?).

Also, it will be useful to record the time that a tab is 'active' or 'visible' (another issue?).

kaidatavis avatar May 27 '24 14:05 kaidatavis