Monday, February 11, 2008

MyExperience Version 0.8 Released

You can download MyExperience Version 0.8 with source here or without source here.

Release Notes for MyExperience v0.8
- Added AvailableActionsForm which lists the actions defined in the XML file and also allows the researcher the ability to arbitrarily execute any of these actions at any time
- Added RetryInterval property to SendSmsAction
- Updated GPS speed sensor to use different units, e.g., mph, kmph, knots.
- Refactored MyExperience.Sensors.Pols into MyExperience.Sensors.Gsm
- Fixed a bug in SimkinCS where setting properties using reflection were not properly being converted to the right types
- Exposed some ActionManager functionality in XML scripts via the ExecutableBase
- Updated KeyEvent class to have IsNumber and IsLetter Methods
- Updated PlaySoundAction so that volume can be set
- Updated RecordAudioAction so that the save file functionality works more like the ScreenShotAction
- Updated the CreateProcessAction to expose the ProcessStartInfo properties
- Added the KillProcessAction (which is essentially the opposite of the CreateProcessAction)
- Fixed bug in SimkinCS in TypeConverter.cs where a type could not be converted to itself
- Updated NotificationAction to include the ability to turn on the backlight during the notification (this is now on by default)
- Hooked up the TimeOutForm, i had forgotten to integrate this back in to the new SurveyForm after refactor
- Added DesktopVisibleSensor that fires a state change when the desktop becomes visible
- Stripped sensor history functionality out of the base sensor class (this was buggy and will be re-added again in future releases)
- Updated privacy-related functionality for one-way hashing privacy sensitive information that MyExperience logs such as incoming phone call numbers and names
- Added the ability to sense actual sms messages being sent (rather than a boolean value which indicated whether a message was sent or not). This functionality is dependent on a proprietary 3rd party library that Intel Research purchased last year and this library is not checked into the open source library. Thus, by default, this functionality is not enabled and the project: MyExperience.Sensors.InTheHand is not loaded in the .sln
- Renamed SmsSentSensor to SmsSentCountSensor
- Added in privacy preservation in the SystemStatesSensor and SystemStateSensor classes
- Fixed bug in SmsSentSensor when user had never sent any SmsMessages previously (thus, most recent message was null)
- Added ForegroundWindowSensor which is a polling-based sensor that fires a state change when the foreground window's title changes
- Update to AudioRecorder widget, added more thorough instructions to user about how to record their audio.
- Updated DatabasePopulator parse code slightly to log a WARNING when an unexpected start element is found outside an action, sensor, question, or trigger element
- Updated AudioRecorder, CameraWidget, VideoCameraWidget, and TimeOutForm to check for the current platform (e.g., SmartPhone vs. PocketPC) and modify their instructions accordingly (e.g., if on a PocketPC, the CameraWidget says "tap here to launch camera" rather than "press any key to launch camera"
- Optimized SurveyPanel display slightly in SurveyForm. I set the .Size to Form.ClientSize before the SurveyPanel was displayed.
- Fixed bug in MultilineTextBox, where the MinimumHeight was too small
- Updated DateTimePicker slightly to make MinimumHeight a few pixels taller
- Updated RandomTimeSensor with two new properties LastPrompt and TimeUntilNextPrompt that are viewable from the debug viewer making it easier to double check correct behavior
- Added ability to disallow going "back" in a SurveyAction
- Added feature to disable "next" until a user begins entering a response
- Put in simple debouncer on MainForm such that the left menu tap doesn't accidentally invoke multiple instances of a survey
updated exception handling in CustomComparer and ActionManager
- Fixed longstanding bug in DateSensor (see http://csharponphone.blogspot.com/2006/08/issues-with-systemstatedate.html)
- Added new BinaryActionData table to the Database/DatabaseSchema.cs. This table is for actions that collect binary data, which needs saving. For example, the ScreenShotAction takes screen shots of the device in the form of images. Before, the only choice was to save these images onto the filesystem.Now, however, the screenshots can be saved directly into the database in the BinaryActionData table.
- Added SaveLocation flag enum to specify saving location (currently either in a file, in the database, or both)
- Fixed log font size on splash screen on pocket pcs
- Added Sleep function to ExecutableBase, which can be called from any script
- Added the HttpPostAction (this has not been tested, use at own risk)
- Added new action: SetWallpaperAction that sets the device's background wallpaper to the supplied image pointed to by the ImageFile property.

No comments: