User Experience/OpenOffice.org User Feedback Program
The OpenOffice.org User Feedback Program is a feature that collects anonymously data about how OpenOffice.org is used. This information is used to better understand how people use OpenOffice.org. Especially with regards to the user interface.
Motivation
With regards to the Renaissance project it is important to judge on user interface changes based on data instead of gut feelings. In the past, too many decisions have been made without having data which reflect the impact of a changes to a specific user group.
The User Feedback program helps to answers on the following questions:
- Which commands are used frequently?
- Which are not?
- How often are they used?
- Are these commands called from the:
- menu, context menu, tool bar, keyboard shortcut
- In which order are these commands used?
Privacy
- The data is collected anonymously
- The feature does not collect any document related keyboard input
- The feature does not send any user specific type of data
- No relation ship between IP Address and sent report by SOAP request
- No data will be collected if users do not apply to this program
- The start-up dialog offers an information button in form of an (i) icon. This button points to the User Feedback Program site to give the user background about the Feature. From there a link will point to the Privacy statement (TODO)
Analysis
- The Results will be published on http://wiki.services.openoffice.org/wiki/Renaissance:Phase_1
Roadmap
- Mile Stone 1: December 18, 2008: Beta Builds available for public testing
- Mile Stone 2: OpenOffice.org 3.1, Release: Integration in OpenOffice.org
User Interface
Query Dialog
The dialog occurs after the second start of OpenOffice.org
Options:
- Yes:
- Activates the feature.
- Data collection starts immediately until the user disables the feature in "Tools->Options->Improvement Program"
- No:
- Does not activate the feature. No data will be transmitted
- The feature will not ask again for participating the program.
- Info Icon
- The icon Points to
http://wiki.services.openoffice.org/wiki/User_Experience/OpenOffice.org_User_Feedback_Program
Strings used
$PRODUCTNAME Improvement Program Help Optimize the Quality of $PRODUCTNAME We invite you to join our $PRODUCTNAME Improvement Program to help optimize the quality of $PRODUCTNAME. If you are willing to participate, we will collect anonymous statistics about how you use OpenOffice.org. The data is used to identify usage patterns. The $PRODUCTNAME Improvement Program will not collect any personal data, or document content. Yes, I am willing to participate in the $PRODUCTNAME Improvement Program No, I do not wish to participate Get more information about the $PRODUCTNAME Improvement Program
Tools Options Dialog
Strings used
Tracked data Number of reports send: Number of tracked actions: Show Data
Disabling the Logging of Data
The org.OpenOffice.Office.Logging.OOoImprovement.EnablingAllowed configuration entry stored in the Logging.xcu allows administrators to switch the logging of data globally OFF. The boolean value needs to be set from true to false.
Usage Data Collected
The collected data is stored in a human readable CSV File at a location set in /org.openoffice.Office.Logging.UiEventslogger.LogPath (File: Logging.xcu)
- The data will get packed in a zip-file before upload.
- When the data was packed successfully, the uncompressed CSV-File is
deleted to save disc space. If the upload attempt fails, only the zipped file will be kept for retries.
Types of Data Collected
The following types of data are collected:
- Tool bar Buttons
- Including Add-Ons
- Menu Items
- Including Add-Ons
- Context Menu Items
- Fonts applied by using the menu
- Font sizes applied by using the menu
- Buttons, like OK, Cancel, etc.
- Document - , Paragraph language applied by using the menu or status bar
- Each item call provides a:
- Time stamp
- An information from which module the item has been called
Example Log
~ 150 kByte uncompressed / 20 kBytes compressed in 30 min. while creating a short document
event no,thread,timestamp,eventtype,origin,uno url,parent id,window type,id,method,parameter 1,1,2008-06-11T10:58:05.85,vcl,,,40368,326,.HelpId:StartCenter:WriterButton,Click, 2,1,2008-06-11T10:58:05.85,dispatch,unknown origin,private:factory/swriter,,,,, 3,1,2008-06-11T10:58:07.88,dispatch,unknown origin,.uno:close,,,,, 4,1,2008-06-11T10:58:16.59,vcl,,,.HelpId:textobjectbar,369,0,TearOff, 5,1,2008-06-11T10:58:20.82,vcl,,,.HelpId:textobjectbar,340,33900,Select,2 6,1,2008-06-11T10:58:25.60,vcl,,,,0,52821,TypeKeys,1 7,1,2008-06-11T10:58:27.17,vcl,,,,0,52821,TypeKeys,1 8,1,2008-06-11T10:58:27.34,vcl,,,,0,52821,TypeKeys,1 9,1,2008-06-11T10:58:27.42,vcl,,,,0,52821,TypeKeys,1 ... 2439,1,2008-06-11T11:25:08.52,vcl,,,,0,52821,TypeKeys,2 2440,1,2008-06-11T11:25:08.52,dispatch,unknown origin,.uno:SwBackspace,,,,, 2441,1,2008-06-11T11:25:08.66,vcl,,,,0,52821,TypeKeys,2 2442,1,2008-06-11T11:25:08.66,dispatch,unknown origin,.uno:SwBackspace,,,,, 2443,1,2008-06-11T11:25:10.17,vcl,,,,0,52821,TypeKeys,2 2444,1,2008-06-11T11:25:10.17,dispatch,unknown origin,.uno:SwBackspace,,,,, 2445,1,2008-06-11T11:25:12.31,vcl,,,,0,52821,TypeKeys,2 2446,1,2008-06-11T11:25:12.31,dispatch,unknown origin,.uno:GoDown,,,,, 2447,1,2008-06-11T11:25:17.47,dispatch,MenuBarManager,.uno:SaveAs,,,,, 2448,1,2008-06-11T11:25:26.63,dispatch,unknown origin,vnd.sun.star.help://swriter/33368?Language=en-US&System=UNIX#bm_id3159242,,,,, 2449,1,2008-06-11T11:25:33.31,vcl,,,,0,52821,TypeKeys,1 2450,1,2008-06-11T11:25:33.63,vcl,,,,0,52821,TypeKeys,1 2451,1,2008-06-11T11:25:34.00,vcl,,,,0,52821,TypeKeys,1 2452,1,2008-06-11T11:25:34.29,vcl,,,,0,52821,TypeKeys,1
Meta Data
The following Meta Data will be transferred:
- Office Version
- Build ID
- Office Locale
- Platform (Windows XP, Windows Vista, Linux + Desktop Info, Mac, Solaris + Desktop Info)
- First time sender (used to count total number of participant)
- Report number
Flags and Meta Data for QA Usage
The following Meta Data will be transferred:
- Sent for testing purposes
The test data used is the same as the Metadata provided by the ReportMail.
Transferring Data
- The data will be transfered by using SOAP over HTTP
- The data will be transmitted:
- 30 seconds after startup, compressed (ZIP-format)
- OpenOffice.org sends one send request per tracked session
- If sending of usage data was not successful the data collecting feature retries sending the data on each start up of OOo again. If sending was no success after 25 attempts the data collecting feature disables it selves. The tracked data will be deleted.
Storing Data
Data will be stored under: file://($user)/temp/Feedback (see http://wiki.services.openoffice.org/wiki/Documentation/DevGuide/OfficeDev/Predefined_Variables)
Implementation Details
Office Configuration Entries
Core
- org.OpenOffice.Office.Logging.OOoImprovement.LogPath (string)
- org.OpenOffice.Office.Logging.OOoImprovement.IdleTimeout (int)
- org.OpenOffice.Office.Logging.OOoImprovement.EnablingAllowed (boolean)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.OfficeStartCountdown (int)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.InvitationAccepted (boolean)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.ShowedInvitation (boolean)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Participation.DeliveredPrebundled (boolean)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Counters.UploadedReports (int)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Counters.LoggedEvents (int)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Upload.SoapUrl (string)
- org.OpenOffice.Ofiice.OOoImprovement.Settings.Upload.SoapIdAdditions (string)
UNO Services
Needs to be updates -> Todo
* com.sun.star.oooimprovement.Core (com.sun.star.comp.extensions.oooimprovecore.Core) ** property: readonly bool UiEventsLoggerEnabled ** property: readonly long SessionLogEventCount ** method: inviteUser() * com.sun.star.oooimprovement.CoreController (com.sun.star.comp.extensions.oooimprovement.CoreController) ** method: bool enablingEventsLoggerAllowed(short Version) ** method: bool showBuiltinOptionsPage(short Version) * com.sun.star.logging.CsvFormatter (com.sun.star.comp.extensions.CsvFormatter)
Jobs
- asynchronous Jobs compress and uploads data triggered by onOOoImprovementLogRotated, 30 seconds after Startup
Filenames
- $LOGPATH/Current.csv (created by core)
- $LOGPATH/OOoImprove-ISOTIMESTAMP.csv (created by core)
- $LOGPATH/OOoImprove-ISOTIMESTAMP.zip (created by extension)
- OOoImprovement.oxt (contains liboooimprovementXX.xxx)
- liboooimprovecoreXX.xxx
Project Bugs and Enhancements
References
- OpenOffice.org Issue
- NetBeans
- ingimp.org
- Mozilla Spectator
- Mozilla Spectator Metrics
- Spectator Test Pilot
- Example Extension
- Extension File Format