camunda / camunda-modeler

An integrated modeling solution for BPMN, DMN and Forms based on bpmn.io.
https://camunda.com/products/modeler
MIT License
1.49k stars 476 forks source link

Track tab management actions usage #2889

Open christian-konrad opened 2 years ago

christian-konrad commented 2 years ago

Is your feature request related to a problem? Please describe.

There are users not understanding the current behavior of tab management: https://github.com/camunda/camunda-modeler/issues/2883 It will be more of a concern once we support multi-file projects (https://github.com/camunda/product-hub/issues/59).

Describe the solution you'd like

To support the understanding of current and future user behavior for tab management in a multi-file project context, we want to track the usage of those actions.

Describe alternatives you've considered

Alternatives would be usability tests, guerilla tests in-house or just doing nothing here, but following best practices of popular IDEs.

nikku commented 2 years ago

I've argued for "not being special" here: https://github.com/camunda/camunda-modeler/issues/2883#issuecomment-1088512467

My believe is our energy is invested better, elsewhere :slightly_smiling_face:.

Skaiir commented 2 years ago

As a counterargument tracking application clicks of buttons and links is now just a matter of configuration and requires very little dev work. So I wouldn't mind setting it up if it is useful to determine if these items should stay. I absolutely agree that not being special is the way to go, but it's even better if we can support that with data.

Skaiir commented 2 years ago

Although that only stands for click events, if we want more fancy tracking then it is work :P

andreasgeier commented 2 years ago

I have added a comment in the referenced issue.

Click tracking is definitively a helpful data point. We should not only track the event itself (e.g. close all tabs) but also the UI element (e.g. right click menu, context menu, shortcut).

nikku commented 2 years ago

As a counterargument tracking application clicks of buttons and links is now just a matter of configuration and requires very little dev work.

@Skaiir How is that "very little dev work" without https://github.com/bpmn-io/internal-docs/issues/507? Please comment on that issue if we have everything in place already (be able to track DOM interactions with context, easily, and fail-safe).

Skaiir commented 2 years ago

@nikku We already track all application clicks across the whole modeler, and we currently filter based on two conditions: is it a child of parent with ID x (providing context) && is it a button / anchor. We can add new parents and automatically all the buttons and links within them will be tracked. It's primitive but it works for quick datapoints.

nikku commented 2 years ago

@Skaiir Please link to our existing solution.

Skaiir commented 2 years ago

@nikku https://github.com/camunda/camunda-modeler/blob/develop/client/src/plugins/usage-statistics/event-handlers/UserTrackedClickEventHandler.js

Definitely not the most fancy or efficient of implementations but very noninvasive. I extended this a little when requirements asked for the welcome page to be tracked as well. Adding tracking for a section of the app would involve adding an HTML ID and adding that value to the collection at the top of the referenced code file.

nikku commented 2 years ago

Thanks. I think that goes into a good direction and can be built upon.