Thursday, June 4, 2009

MyExperience Version 0.9 Released

You can download MyExperience version 0.9 here.

The main window of the MyExperience application has been blank (pure white) since its inception. I have always planned on creating an interface here that could be customized through the MyExperience.xml file but have not yet gotten around to it. For example, this could be used by researchers to add a bar graph display that shows how many surveys have been completed and missed for the week. Although we're not to that point yet, I did add the ability to place an image in the background of the main window. See the screenshot below:

To change the background image, simply replace "front_screen.png" on your device (at \program files\myexperience). You can customize this with your own logo, instructions, or simply a calming image.

Another change of note is that the default MyExperience.xml file that is installed automatically has been greatly improved; it highlights many of the question/self-report features that make MyExperience unique.

Other changes in this release:
- Added a more comprehensive feature demo as the default MyExperience.xml file
- Fixed early timeout on PocketPC-based devices during surveys
- Fixed slight formatting issue in parameter text in questions
- Can now change the MyExperience frontpage screen by changing the image "front_screen.png"
- Updated MyExperience source base to Visual Studio 2008
- Updated MyExperience database backend from SQL Compact Edition 3.1 to SQL Compact Edition 3.5
- Updated MyExperience.Analyzer to work with SQL CE 3.0, 3.1 and 3.5 databases
- Minor update to TimeSensor. It no longer, by default, saves its state changes to the database (see the RecordStateChanges base property)
- Added two false-positive preventative measures to GsmMotionSensor: MinimumPhoneSignalStrengthThreshold and MinimumCellReadingCountThreshold. The ways this works is as follows: If you are sensed to be in motion and then either the phone signal strength drops below MinimumPhoneSignalStrengthThreshold or the number of visible cells drops below MinimumCellReadingCountThreshold, then the phone is pushed back into stationary mode and a state change is triggered. If you are already in the stationary state, nothing happens.
- Updated DatabasePopulator to throw an exception if an unknown tag is found
- Improved batch file installation routine
- Added better support for random question selection during surveys (e.g., GetRandomQuestionIds) See the Questions section of http://myexperience.wikispaces.com/Basic+Scripting+Functions
- Fixed an array handling bug in SimkinCS
- Added WiFi support to MyExperience. MyExperience.Sensors.Wifi contains : WifiDeviceListChangedSensor : triggers every time the list of good, very good or excellent wifi routers available change
- Added location inference support (e.g., user location tracking). MyExperience.Sensors.Wifi contains : SkyhookLocationSensor : localisation using skyhook. (see http://www.skyhookwireless.com/)
- Added CellInfoSensor.cs and NetworkConnectionSensor.cs
- Added auto-upgrade support to SQL CE database in Roam.SqlCe (see http://sourceforge.net/projects/roam -- Roam provides many of the foundational libraries for MyExperience)