Developers can have an transparent insight using the feedback manager to find out which data is actually collected. To open the feedback manager just navigate to the ReSharper menu and select the entry "Feedback Manager" located at the very bottom.
Review the Collected Feedback
The feedback manager is the central component to manage the collected feedback. It enables the developer to review existing feedback with detailed information and remove already collected feedback. A major task comprises the upload of feedback to our feedback server with respect to privacy concerns.
The Feedback Manager UI consist of different areas for different tasks. The window has a toolbar that provides easy access to frequently used options:
- Refresh Feedback: This option will load new events from the disk and update the current view. Note, that it can take a while until the whole feedback is loaded.
- Export...: Will open the upload wizard to transfer the current feedback to our upload server. See Export for detailed information.
- Options...: Link to the feedback collectors option page that contains different settings to adjust the behavior of the collecting process.
- Open Website: Connection to our project website including this documentation.
The SessionManager shows the collected feedback in two columns. The first columns shows all days, on which feedback was collected. Once a day is selected, the right column shows all events of that day. It is possible to remove events and even complete days by selecting the according entry in the list and by pressing the "x"-Button afterwards. It is possible to select multiple entries from the same list (Ctrl+Click) or select all at once (Ctrl+A).
If an event is selected, details about it are shown in the right part of the window. Two different views exist that can be easily changed by the user by selecting the appropriate tab at the bottom of the window.
The design view represents a pretty printing view for a selected event with the most important information for a particular event in a human readable manner. The example shows the design view for an IDEState event. This view contains additional prepared information about a selected event. See the following list for further explanations:
- The Trigger that caused the event
- The duration of this event
- The window that was active as this event occurred
- The document that was active as this event occurred
- Details example: If the event represents a code completion action (we call this a CompletionEvent) you get further information about the triggered completion context. The context represents the enclosing type declaration, the enclosing method and the method calls triggered on the enclosing method.
- Depending on the event type other details are shown.
The second available view is the JSON raw view. It displays all information as they are stored on the file system. An example of this is given in the following picture:
The contained information is exactly the same as in the design view. This view allows to review the captured data very closely. However, some of the data (e.g., enumerations) are not resolved and just contain the integer, other information (e.g. the $type field) is necessary for technical reasons, but do not bear any information that is interesting for the user.
Export the Collected Feedback
The feedback will be stored on your local hard disk in your app data folder. To make it available for research purposes, you need to transfer the collected feedback to our server. Once you started the export process, a window pops up that presents you different options: automatic upload, manual zip export, and review.
The export wizard also maintains the anonymization options which will be saved when they were changed.
Review ("Feedback einsehen"): If you cannot decide whether you want to upload your collected feedback or not, you have the option to review the collected feedback. You can do this by clicking "Feedback einsehen", this opens the feedback manager that shows you the collected feedback. From here you can restart the export process.
There are two ways to upload the data if you decide to provide feedback:
- Automatic Export ("Direktupload"): The automatic export is the easy way to upload the feedback to our feedback server. It will immediately upload it just with a few clicks. The URL to the server can be changed in the options. The entire feedback will be uploaded which can take some time. Afterwards the local stored data will be removed from your hard disk.
- Manual Export ("ZIP-Export..."): This export option enables the user to have full control over the upload. The feedback will be exported to your local disk as zip file which contains the collected data. We use the human readable JSON Format to represent the data. This zip file can be manual uploaded at our website (link) (screenshot).
The same data is uploaded to the server (assuming that you did not change anything in the exported file) and your local data is deleted.
Notifications About Collected Feedback
The feedback manager contains a notification system that reminds the user that feedback was collected over a longer period of time without exporting it. It is a mechanism to prevent a loss of local drive space, because of large amounts of feedback. Because the feedback can get quite large it is recommended to upload the feedback every two days:
The user will receive two different kinds of notifications:
- "Soft" Notification (yellow): This reminder will be displayed ever two days. It will automatically be faded out after 4 seconds and can be ignored.
- "Hard" Notification (orange): It shows up if the last export is older than a week. It enforces the user to take a decision and will not fade out automatically.
The export can be started In both cases by clicking at the "start export wizard" button. If the user decides to not export the feedback now, the popups can be closed immediately by pressing the "x" located in the upper right corner of the notification. However, it is encouraged to export the collected feedback regularly to prevent long upload times and heavy usage of the local storage.