tag:blogger.com,1999:blog-62755519003348602952024-02-20T18:28:15.452-08:00the MyExperience blogMyExperience is a context-aware data collection platform for capturing objective and subjective data as it's experienced. This blog is meant to keep the MyExperience community informed about MyExperience related news (e.g., new releases, major bugs, etc).jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.comBlogger19125tag:blogger.com,1999:blog-6275551900334860295.post-36503076485514182752010-05-27T22:22:00.000-07:002010-05-27T22:37:39.617-07:00Project Highlight: Mobile Therapy, Using MyExperience for Emotional Self-Awareness<div style="text-align: center;"><br /></div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdTPB8h0KEN-FUBhv7EYM2WNt7H8iwLIJ9JdveFiurv6vaO-eeksZPs-nX2n1keNsIn98bW4LMeFfVGJZqQ3BYr9ZAJptWdy0gwFUa35d3O41gA-X__F-AR-RCRwdXDTZnuDTWJlyLnVHo/s1600/1371-7354-1-PB.jpg"></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBP3wOVu-UdcIgT8P4MRBVPnfuvrXW28xHTwddho9Dcp9irNIKW5hZbkRhXd63f80l1NmoDA7Ai3FVWbp7xlh_TjiibMReUfOC49Zt0IfbeqGuF_4gpFul2M4q4KcSouZETZXEjsxLbRZ0/s1600/1371-7353-1-PB.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 309px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBP3wOVu-UdcIgT8P4MRBVPnfuvrXW28xHTwddho9Dcp9irNIKW5hZbkRhXd63f80l1NmoDA7Ai3FVWbp7xlh_TjiibMReUfOC49Zt0IfbeqGuF_4gpFul2M4q4KcSouZETZXEjsxLbRZ0/s400/1371-7353-1-PB.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5476189563529228738" /></a><div><div style="text-align: center;"><span class="Apple-style-span" style="color:#0000EE;"><u></u></span></div><div style="text-align: center;"><b><span class="Apple-style-span" style="font-size:small;">Figure 1. Patients could self-report their mood</span></b></div><div style="text-align: center;"><b><span class="Apple-style-span" style="font-size:small;"><br /></span></b></div><span class="Apple-style-span" style="color: rgb(51, 51, 51); line-height: 20px; "><span class="Apple-style-span" style="font-size:small;"><div><span class="Apple-style-span" style="font-size:small;">Dr. Margaret Morris from the Digital Health Group at Intel and colleagues from Oregon Health and Sciences and Columbia University recently published a paper entitled </span><a href="http://www.jmir.org/2010/2/e10/HTML"><span class="Apple-style-span" style="font-size:small;">Mobile Therapy: Case Study Evaluations of a Cell Phone Application for Emotional Self-Awareness</span></a><span class="Apple-style-span" style="font-size:small;"> in the </span><a href="http://www.jmir.org/"><span class="Apple-style-span" style="font-size:small;">Journal of Medical Internet Research</span></a><span class="Apple-style-span" style="font-size:small;">. They used the MyExperience tool for mood reporting and therapeutic exercises mediated by the mobile phone.</span></div></span></span><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="line-height: 20px; "><span class="Apple-style-span" style="font-size:small;"><br /></span></span></span></div><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="line-height: 20px; "><span class="Apple-style-span" style="font-size:small;">Here's a snippet from their abstract:</span></span></span></div><div><span class="Apple-style-span" style=" color: rgb(51, 51, 51); line-height: 20px; font-size:small;"><b></b></span></div><blockquote><div><span class="Apple-style-span" style=" color: rgb(51, 51, 51); line-height: 20px; "><b><span class="Apple-style-span" style="font-size:small;"></span></b><span class="Apple-style-span" style="font-size:small;"><b>Background</b>: Emotional awareness and self-regulation are important skills for improving mental health and reducing the risk of cardiovascular disease. Cognitive behavioral therapy can teach these skills but is not widely available.</span></span></div><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="line-height: 20px; "><div><b><span class="Apple-style-span" style="font-size:small;">Objective</span></b><span class="Apple-style-span" style="font-size:small;">: This exploratory study examined the potential of mobile phone technologies to broaden access to cognitive behavioral therapy techniques and to provide in-the-moment support.</span></div><div><b><span class="Apple-style-span" style="font-size:small;">Methods:</span></b><span class="Apple-style-span" style="font-size:small;"> We developed a mobile phone application with touch screen scales for mood reporting and therapeutic exercises for cognitive reappraisal (ie, examination of maladaptive interpretations) and physical relaxation. The application was deployed in a one-month field study with eight individuals who had reported significant stress during an employee health assessment. Participants were prompted via their mobile phones to report their moods several times a day on a Mood Map—a translation of the circumplex model of emotion—and a series of single-dimension mood scales. Using the prototype, participants could also activate mobile therapies as needed. During weekly open-ended interviews, participants discussed their use of the device and responded to longitudinal views of their data. Analyses included a thematic review of interview narratives, assessment of mood changes over the course of the study and the diurnal cycle, and interrogation of this mobile data based on stressful incidents reported in interviews.</span></div></span></span></div></blockquote><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="line-height: 20px; "><div><span class="Apple-style-span" style="font-size:small;"></span></div></span></span><div><span class="Apple-style-span" style="color:#333333;"><span class="Apple-style-span" style="line-height: 20px;"><span class="Apple-style-span" style="color: rgb(0, 0, 238); line-height: normal; -webkit-text-decorations-in-effect: underline; "><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdTPB8h0KEN-FUBhv7EYM2WNt7H8iwLIJ9JdveFiurv6vaO-eeksZPs-nX2n1keNsIn98bW4LMeFfVGJZqQ3BYr9ZAJptWdy0gwFUa35d3O41gA-X__F-AR-RCRwdXDTZnuDTWJlyLnVHo/s400/1371-7354-1-PB.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5476190250252636610" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 287px; height: 400px; " /></span></span></span></div><div><span class="Apple-style-span" style="color:#0000EE;"><br /></span></div><div style="text-align: center;"><span class="Apple-style-span" style="color: rgb(51, 51, 51); line-height: 20px; "><b><span class="Apple-style-span" style="font-size:small;">Figure 2. The MyExperience tool was also used for mobile cognitive therapy interventions. Here a glowing blue circle is animated to help a patient breathe in and out slowly.</span></b></span></div><div><span class="Apple-style-span" style="color: rgb(51, 51, 51); line-height: 20px; "><span class="Apple-style-span" style="font-size:small;"><br /></span></span></div><div><span class="Apple-style-span" style="color: rgb(51, 51, 51); line-height: 20px; "><span class="Apple-style-span" style="font-size:small;">Note that we featured Dr. Morris' work once before with the <a href="http://myexperiencetool.blogspot.com/2009/05/project-highlight-mobile-heart-health.html">Mobile Heart Health</a> post.</span></span></div><div><span class="Apple-style-span" style=" color: rgb(51, 51, 51); line-height: 20px; font-size:13px;"><br /></span></div></div></div>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-57313740900405822212010-05-27T22:10:00.000-07:002010-05-27T22:18:25.519-07:00MyExperience at Measuring Behavior 2010<div>MyExperience will be discussed during a <a href="http://www.measuringbehavior.org/mb2010/myexperience-user-meeting">mini-workshop</a> at <a href="http://www.measuringbehavior.org/">Measuring Behavior 2010, the 7th International Conference on Methods and Techniques in Behavioral Research</a> in Eindhoven, Netherlands. Details below:</div><div><br /></div><div><div><b>Organizer</b></div><div>Jürgen Stumpp (Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany)</div><div><br /></div><div><b>Aim of the meeting</b></div><div>In this user meeting we will show an overview of hand-held computer software solutions for psychological and behavioral monitoring. With this user meeting we want to provide a forum in which we can discuss the open-source MyExperience software as a solution for Psychological and Behavioral Monitoring. MyExperience is a context-aware data collection platform for capturing objective and subjective data as it is experienced. The MyExperience project was started by Intel Research, Seattle and the University of Washington in the spring of 2005. During the last year we ported the Platform to newer mobile phones and made several improvements and extensions which we would like to discuss with the participants. We would like to know if MyExperience fits the needs of the researchers in the field of behavioral monitoring and want to discuss further developments of MyExperience.</div><div><br /></div><div><b>Program</b></div><div>We would like to do a small presentation on how MyExperience works and how it can help researchers in different fields to do studies with it. Also we would like to show how we improved MyExperience to be a complete solution for behavioral monitoring. We will bring a functional prototype that demonstrates the current development state and how MyExperience can be used in combination with mobile sensors that monitor physiological signals and triggers questionnaires on the hand-held computer.</div></div><div><br /></div><div>(<a href="http://www.measuringbehavior.org/mb2010/myexperience-user-meeting">link</a>)</div><div><div></div></div>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-58052580641752894312009-08-19T09:25:00.000-07:002009-08-19T09:29:41.282-07:00MyExperience Version 0.9.1 Released<span class="Apple-style-span" style="color: rgb(51, 51, 51); font-size: 13px; line-height: 20px; ">You can download MyExperience version 0.9.1 <a href="https://sourceforge.net/project/platformdownload.php?group_id=188488" style="color: rgb(85, 136, 170); text-decoration: none; ">here</a>. This was a bug fix release.</span><div><span class="Apple-style-span" style="font-size:100%;color:#333333;"><span class="Apple-style-span" style="font-size: 13px; line-height: 20px;"><br /></span></span></div><div><span class="Apple-style-span" style="font-size:100%;color:#333333;"><span class="Apple-style-span" style="font-size: 13px; line-height: 20px;">Release Notes:</span></span></div><div><span class="Apple-style-span" style="font-size:100%;color:#333333;"><span class="Apple-style-span" style="font-size: 13px; line-height: 20px;"><div>- Fixed MyExperience.Analyzer error when trying to save results from query to csv file</div><div>- Added a check in Trigger.cs to see if the user did not specify a GetSensor or GetSensorStateSnapshot--if that's the case, we now print out a warning into the log file</div><div>- Fixed "The connection is already Open" in MyExperience.Analyzer</div><div>- Fixed problem when device does not use "Storage Card" for its external storage unit, MyExperienceLog.txt file getting saved in wrong directory. Now, the MyExperienceLog.txt is always stored in \Storage Card\MyExperience as designed</div><div>- Added a few more example XML files.</div><div>- Added build.bat and create_installers.bat to create the releases (should vastly reduce time it takes to create new releases and allow other developers to create releases as well)</div></span></span></div><div><span class="Apple-style-span" style="font-size:100%;color:#333333;"><span class="Apple-style-span" style="font-size: 13px; line-height: 20px; "><br /></span></span></div>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-85306734260246239082009-06-04T16:09:00.000-07:002009-06-04T22:21:39.009-07:00MyExperience Version 0.9 Released<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf4GJfLwoYyfj1Uzp5ZvA14Go3uGZdGI5LZ1j9jd_aLewnRLl7wMc5c5mH_ckzP3x_hyjaRva409oQtRZbd93lVTAW9kN_zA5uThtL1A7CRDVXREpME3n8QmjmDk5BnmHOnsHH5F9XhpFw/s1600-h/MyExperienceFrontScreen.png"></a><div>You can download MyExperience version 0.9 <a href="https://sourceforge.net/project/platformdownload.php?group_id=188488">here</a>.</div><div><br /></div><div>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:</div><div><br /></div><div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf4GJfLwoYyfj1Uzp5ZvA14Go3uGZdGI5LZ1j9jd_aLewnRLl7wMc5c5mH_ckzP3x_hyjaRva409oQtRZbd93lVTAW9kN_zA5uThtL1A7CRDVXREpME3n8QmjmDk5BnmHOnsHH5F9XhpFw/s1600-h/MyExperienceFrontScreen.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgf4GJfLwoYyfj1Uzp5ZvA14Go3uGZdGI5LZ1j9jd_aLewnRLl7wMc5c5mH_ckzP3x_hyjaRva409oQtRZbd93lVTAW9kN_zA5uThtL1A7CRDVXREpME3n8QmjmDk5BnmHOnsHH5F9XhpFw/s400/MyExperienceFrontScreen.png" alt="" id="BLOGGER_PHOTO_ID_5343616150007152034" style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 320px;" border="0" /></a></div><div>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.</div><div><br /></div><div>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.</div><div><br /></div><div>Other changes in this release:</div><div><div>- Added a more comprehensive feature demo as the default MyExperience.xml file</div><div>- Fixed early timeout on PocketPC-based devices during surveys</div><div>- Fixed slight formatting issue in parameter text in questions</div><div>- Can now change the MyExperience frontpage screen by changing the image "front_screen.png"</div><div>- Updated MyExperience source base to Visual Studio 2008</div><div>- Updated MyExperience database backend from SQL Compact Edition 3.1 to SQL Compact Edition 3.5</div><div>- Updated MyExperience.Analyzer to work with SQL CE 3.0, 3.1 and 3.5 databases</div><div>- Minor update to TimeSensor. It no longer, by default, saves its state changes to the database (see the RecordStateChanges base property)</div><div>- 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.</div><div>- Updated DatabasePopulator to throw an exception if an unknown tag is found</div><div>- Improved batch file installation routine</div><div>- Added better support for random question selection during surveys (e.g., GetRandomQuestionIds) See the Questions section of http://myexperience.wikispaces.com/Basic+Scripting+Functions</div><div>- Fixed an array handling bug in SimkinCS</div><div>- 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</div><div>- Added location inference support (e.g., user location tracking). MyExperience.Sensors.Wifi contains : SkyhookLocationSensor : localisation using skyhook. (see http://www.skyhookwireless.com/)</div><div>- Added CellInfoSensor.cs and NetworkConnectionSensor.cs</div><div>- 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)</div></div>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-31273246424839953152009-05-26T22:07:00.000-07:002009-05-26T22:21:33.936-07:00Project Highlight: Studying Human Activities and the Environment<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAFU7McrTreNUTKC86Dp-Qw_TYGrRVEG_OsApIIgshwhBKCaB07_ZkAjL-Xg4N5ZT8vl_B6LLqrkZ1PjlJeoheqn6zl88GMXzc1xa5jWRTIL4mM7hNqKWQ_t6vYshkMTqqwlI0tqRfLkA2/s1600-h/MobileSense2.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 278px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAFU7McrTreNUTKC86Dp-Qw_TYGrRVEG_OsApIIgshwhBKCaB07_ZkAjL-Xg4N5ZT8vl_B6LLqrkZ1PjlJeoheqn6zl88GMXzc1xa5jWRTIL4mM7hNqKWQ_t6vYshkMTqqwlI0tqRfLkA2/s400/MobileSense2.png" alt="" id="BLOGGER_PHOTO_ID_5340367484407443330" border="0" /></a>The College of Architecture and Urban Planning at the University of Washington used the MyExperience tool to study the relationship between the built environment and human activities. They conducted a study using MyExperience, GPS, and a wearable sensing platform (the Intel MSP) to record the activities and locations of 53 subjects over one week. In particular, they explored:<br /><ul><li>what associations exist between different types of activities and different kinds of urban environments; </li><li>what characterizes the land use patterns where people spend long periods of time; </li><li>and do the properties of origins and destinations differ between short and long trips or trips made by different modes of transportation</li></ul>In all, they gathered approximately 2,900 hours of data and ~2,900 surveys via the Experience Sampling Method (ESM) using MyExperience to provide self-report data about activities. MyExperience would prompt participants for a survey approximately every hour. These surveys asked questions about activity type, duration, purpose, and location.<br /><br /><div style="text-align: center;"><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijVpuWETBGhBuySn9341QuawJPH_gBJGu6oi52_DGio4g_om5zM30dU06AvbS0OXJRgawFdzPE90YZww7buWIlkX8z7310X51YsVReprYog-9tK3pT6ttOCEPBH9kmsFVpzFeBWP5NJxRn/s1600-h/MobileSense5.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 230px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijVpuWETBGhBuySn9341QuawJPH_gBJGu6oi52_DGio4g_om5zM30dU06AvbS0OXJRgawFdzPE90YZww7buWIlkX8z7310X51YsVReprYog-9tK3pT6ttOCEPBH9kmsFVpzFeBWP5NJxRn/s400/MobileSense5.png" alt="" id="BLOGGER_PHOTO_ID_5340368192432699874" border="0" /></a><span style="font-size:85%;">GPS trace showing the path a person followed over several days annotated with self-report data from MyExperience. Stationary GPS points are shown in red, moving points are shown in green. </span><br /></div><br />For more information on this research, see <a href="http://www.cs.washington.edu/homes/jlester/publications/UrbanSense_2008_MobileSense%20-%20Sensing%20Modes%20of%20Transportation%20in%20Studies%20of%20the%20Built%20Environment.pdf">MobileSense - Sensing Modes of Transportation in Studies of the Built Environment</a> by Jonathan Lester et al.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-49055933946161841932009-05-19T11:40:00.000-07:002009-05-20T12:18:31.669-07:00Project Highlight: Mobile Heart Health<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTH0uRZIA-RqZaMGQiADrUlllhPc0ViVh8Zjj2fEfWlFUDOIURlsu-t8XFWqU5OndB27MRqcFgJXEDhOC-rIKQd-0Gjqe_KUTa8WKPMTlrRIvQ6Jonhzf2c4lYO5-gfx9qAOMPwtZZLrT4/s1600-h/MobileHeartHealth2.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 281px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTH0uRZIA-RqZaMGQiADrUlllhPc0ViVh8Zjj2fEfWlFUDOIURlsu-t8XFWqU5OndB27MRqcFgJXEDhOC-rIKQd-0Gjqe_KUTa8WKPMTlrRIvQ6Jonhzf2c4lYO5-gfx9qAOMPwtZZLrT4/s400/MobileHeartHealth2.png" alt="" id="BLOGGER_PHOTO_ID_5337986754104134754" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKtGGRHfCRuKDeE9BnnZwcqnEjI_GdRwmtO6C_L46puZVaagAnOzw6Eq6547s0nS8ScGlLc89W06pxYaeEXmXL091T9NE2tzn-leoiM6qv13iwnEuL1SB4pjZwpPqvM82ECuO5D7dHno-z/s1600-h/MobileHeartHealth.jpg"><br /></a><div>Dr. Margaret Morris and Farzin Guilak at the Digital Health Group at Intel used <a href="http://myexperience.sourceforge.net/">the MyExperience tool</a> to explore heart health, the physiological indicators of stress, and "active" mobile therapy (e.g., using the mobile phone to intervene during inferred times of patient stress). </div><div><br /></div><div>From the <a href="http://www.computer.org/portal/cms_docs_pervasive/pervasive/homepage/2009/0209/b2spo.pdf">article</a>, "Mobile therapy—just-in-time coaching that is triggered by physiological indicators of stress—is the objective of Mobile Heart Health, an exploratory research project at Intel. The project aims to help people tune in to early signs of stress and modulate reactivity that could potentially damage their relationships and long-term health."<br /><br /><span style="font-weight: bold;">MyExperience Sensors</span><br />Morris used a variety of contextual MyExperience sensors to automatically assess stress level including location sensing, synchronization with calendaring applications, and a wearable ECG monitor (to track heart rate variability). The mobile therapy feedback "appear on the cell phone in response to cardiovascular signals (see Figure 1) or when the system detects contextual shifts associated with stress."<br /><span style="font-weight: bold;"><br />MyExperience User Interface</span><br /></div><div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_MLCKLTZn6_tPq2scgUk1oK_cRrBCS1npcbIx3R5l18n_owf12oDmbmJg9Rkcip67ykmrdHb2VYD5xX0ZoEOPRyNNyy_FRsZIA0G1GDRIAF4V4kpOFqujzBJ0kRcKWx-uXzN0W1MKx3Sz/s1600-h/MoodMap.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 240px; height: 400px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_MLCKLTZn6_tPq2scgUk1oK_cRrBCS1npcbIx3R5l18n_owf12oDmbmJg9Rkcip67ykmrdHb2VYD5xX0ZoEOPRyNNyy_FRsZIA0G1GDRIAF4V4kpOFqujzBJ0kRcKWx-uXzN0W1MKx3Sz/s400/MoodMap.png" alt="" id="BLOGGER_PHOTO_ID_5337986385576931602" border="0" /></a>Morris also developed a variety of touchscreen feedback interfaces that allowed individuals to report their emotional states throughout the day. "The main mood scale was the 'Mood Map,', based on the circumplex model of emotion invites users to quickly indicate mood states according to valence and arousal (see Figure 3). These subjective reporting techniques were desirable as checks on sensors, and in their own right as brief windows for self-awareness.<br /></div><div><br /></div><div>To read more about this work, download the article directly <a href="http://www.computer.org/portal/cms_docs_pervasive/pervasive/homepage/2009/0209/b2spo.pdf">here </a>or browse the IEEE Pervasive Computing magazine that published it <a href="http://www.computer.org/portal/site/pervasive/menuitem.27f59ef14097a97da84840898bcd45f3/index.jsp?&pName=pervasive_level1_home&path=pervasive/content&file=index.xml&xsl=generic.xsl&">here</a>.<br /></div><div><br /></div>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-21079118761850008142009-05-11T15:20:00.000-07:002009-05-11T15:49:14.907-07:00Project Highlight: UbiGreen<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3gTzSOC7hOU2LptJmlYyfRcXcvgwUdjdtolPOc0Cl_1dChlePQGOiyYfJ0q-_Uz3C_MqekEthZrD7TqimjojkpFIlwcCUIS9Ir9n2oe6eyZlaVzaYYR4iEMu22fYKFr5hWsoT_BSigdSe/s1600-h/titleslide.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3gTzSOC7hOU2LptJmlYyfRcXcvgwUdjdtolPOc0Cl_1dChlePQGOiyYfJ0q-_Uz3C_MqekEthZrD7TqimjojkpFIlwcCUIS9Ir9n2oe6eyZlaVzaYYR4iEMu22fYKFr5hWsoT_BSigdSe/s400/titleslide.png" alt="" id="BLOGGER_PHOTO_ID_5334700168575674402" border="0" /></a><br />The UbiGreen Mobile Transportation display was recently presented at CHI2009 in Boston, MA and is built off of the MyExperience tool. The UbiGreen Transportation Display is a prototype mobile phone application that semi-automatically senses and feeds back information about transportation behavior using the background (wallpaper) of the mobile phone (see screenshots below). In this way, the transit information is always available in a fairly casual manner so the user can see it as they use the phone for everyday purposes such as making a phone call or sending a text message. The full research paper is available <a href="http://www.cs.washington.edu/homes/jfroehli/publications/CHI2009_UbiGreen.pdf">here </a>and the talk slides are available <a href="http://www.cs.washington.edu/homes/jfroehli/publications/CHI2009-UbiGreen.zip">here</a>.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvEr6btHM3tKy_eoJoezOg2nQCeOteTiMWRqzzgpfmv6uuiMkDe2fG1rUhglO_6H1AtoUUexw_8bTVE5OfKqFwt1faeeY4E2bPk-IRnkcOzpzZnI96jmeBkw_j3bH1FzfJSLnechL4mhIO/s1600-h/UbiGreen_PolarAndTree.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 329px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvEr6btHM3tKy_eoJoezOg2nQCeOteTiMWRqzzgpfmv6uuiMkDe2fG1rUhglO_6H1AtoUUexw_8bTVE5OfKqFwt1faeeY4E2bPk-IRnkcOzpzZnI96jmeBkw_j3bH1FzfJSLnechL4mhIO/s400/UbiGreen_PolarAndTree.png" alt="" id="BLOGGER_PHOTO_ID_5334700171266510370" border="0" /></a> The MyExperience.xml that powered it all is available for download <a href="http://myexperience.svn.sourceforge.net/viewvc/myexperience/Trunk/SampleXmlFiles/MyExperience_UbiGreenMobileTransit_Final.xml?revision=330&view=markup&sortby=date">here</a>. Note that this file is rather large and complex as it illustrates an advanced use of MyExperience, but still could be educational for some (e.g., how the download and set wall paper actions were used).<br /><br />The UbiGreen Mobile Transportation display used a variety of MyExperience <a href="http://myexperience.wikispaces.com/Sensors">Sensors</a>, including:<br /><ul><li>the GsmMotionSensor to sense user movement and automatically trigger a survey after this movement subsides (e.g., when the user transitions from being mobile to being stationary).<br /></li><li>UbiGreen also used MyExperience to interface with a wearable sensor (the MspSensor) that could automatically detect when the user was walking, running, or bicycling.<br /></li><li>the DesktopVisibleSensor to track how often the participant could see the wallpaper</li><li>the DeviceIdleSensor to determine when the device was not being used by the user so we could run certain computations therby not affecting the interactivity of the device</li><li>a host of sensors that tracked how the participants were using their phones<br /></li></ul>UbiGreen used multiple MyExperience <a href="http://myexperience.wikispaces.com/Actions">Actions</a> as well:<br /><ul><li>the <a href="http://myexperience.wikispaces.com/HttpPostAction">HttpPostAction</a> was used to post sensor and ESM self-report data back to a server</li><li>the <a href="http://myexperience.wikispaces.com/DownloadAction">DownloadAction</a> was used to download appropriate wallpaper for the participant's phones</li><li>the <a href="http://myexperience.wikispaces.com/SetWallpaperAction">SetWallPaperAction</a> was used to change the wallpaper of the user's phone (e.g., to a different tree or polar bear design)--remember, this was the main way that UbiGreen interfaced with its users, simply by changing the user's wallpaper<br /></li><li>the <a href="http://myexperience.wikispaces.com/SendSmsAction">SendSmsAction</a> was used to inform the research team when an emergency was occuring with a participant's device or wearable sensor (e.g., we would receive an SMS message if it appeared that our participant was not wearing their sensors that day)</li><li>the <a href="http://myexperience.wikispaces.com/RestartDeviceAction">RestartDeviceAction</a> was used to force restart the device if a critical, unrecoverable error occurred</li><li>the <a href="http://myexperience.wikispaces.com/SurveyAction">SurveyAction</a> was used to contextually-prompt the user about trip information whenever vehicle travel was inferred but could not automatically be determined (e.g., we could not automatically disambiguate car from bus travel)</li><li>the <a href="http://myexperience.wikispaces.com/NotificationAction">NotificationAction</a> was used to alert the user that they had a self-report ESM survey waiting</li></ul>Please email <a href="myexperience-users@lists.sourceforge.net">myexperience-users@lists.sourceforge.net</a> or add a comment to this post if you would like more information.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com1tag:blogger.com,1999:blog-6275551900334860295.post-25567175163206912202009-01-27T17:44:00.000-08:002009-01-27T17:56:21.650-08:00CheckBoxLists and BranchingThe ability to dynamically select follow-up questions based on the user's current responses and/or sensor states is a powerful feature in MyExperience. For example, with MyExperience you might ask, "On a scale of a 1-10, how exhausted are you feeling right now (1=Not Exhausted, 10=Very Exhausted)." You could then dynamically branch to a set of questions if the participant indicates that they are exhausted (e.g., a response greater than or equal to 7). <br /><br />MyExperience offers many different ways of specifying question branches from within response options to short scripts. These different methods are covered <a href="http://myexperience.wikispaces.com/Questions">here</a>. A common question, however, is with regards to how MyExperience and <span style="font-style: italic;">CheckBoxList branching works</span>. CheckBoxLists allow the participant to select more than one answer, each with their own specific branch in the survey.<br /><br />The CheckBoxWorkOut example (available <a href="http://myexperience.wikispaces.com/CheckBoxList">here, </a>see Example 1) demonstrates the power of branching with CheckBoxLists and using parameterized question text. Observe how MyExperience's branching functionality loops over each of the response options in the CheckBoxList and then finally pursues the main trunk of the survey after all branches have been exhausted. This example also highlights the usage of the special options: "All of the above" and "None of the above." Note that you must have version 0.8.2 or later to run this example.<span style="font-family: monospace;"></span>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-25143779347527241222009-01-16T18:04:00.000-08:002009-01-16T18:17:55.711-08:00MyExperience Version 0.8.3 ReleasedYou can download version 0.8.2 of MyExperience <a href="https://sourceforge.net/project/platformdownload.php?group_id=188488&sel_platform=4212">here</a>, which includes a much requested feature to be able to change font sizes of response options. See screenshot below. For more on this, see <a href="http://myexperience.wikispaces.com/Questions">http://myexperience.wikispaces.com/Questions</a>. Also, special thanks to Jennifer Beaudin and the <a href="http://architecture.mit.edu/house_n/">MIT House_N</a> team for contributing so much to this release.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZM9RJ4CnvYHLCHrOa8ttTz17SjW_Dv8ilpsZTNrGJwSeXInKUsQPLaXqo-DBpZw-pM3v8st4wvDsitiQshwQCBMbCKZhSEFXnR5xoHCkExLrEhYVDu8NFKU6eKBH_Hc9UKPeyK9yV0p_O/s1600-h/response_options_customized_lookandfeel.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 264px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZM9RJ4CnvYHLCHrOa8ttTz17SjW_Dv8ilpsZTNrGJwSeXInKUsQPLaXqo-DBpZw-pM3v8st4wvDsitiQshwQCBMbCKZhSEFXnR5xoHCkExLrEhYVDu8NFKU6eKBH_Hc9UKPeyK9yV0p_O/s400/response_options_customized_lookandfeel.jpg" alt="" id="BLOGGER_PHOTO_ID_5292079003144737186" border="0" /></a>Other changes:<br />- Added Volume property to NotificationAction and PlayerAction. Gets or sets playback volume on the current wave device. 100 is full volume, 0 is silent. Set to -1 to use default volume.<br />- Renamed SetProperty, GetProperty and ContainsProperty to SetGlobalProperty, GetGlobalProperty, and ContainsGlobalProperty<br />- Added ability to specify properties for response options. See MyExperience_CustomizeQuestionLookAndFeel.xml in SampleXmlFiles<br />- Made a few changes to make text and countdown # more visible and readable in TimeOutForm, particularly on landscape screens, such as the HTC Dash. TimeOutUseLargeFont specified that larger text should be used to print the warning message on the TimeOut form. TitleBarText and ShowsCountInTitleBar allow customization of the text show in the title bar on survey panels.<br />- Added SuspendPreventer to address power management issue in PocketPC devices. Periodically uses P/Invokes methods to prevent PocketPC devices from going into suspend mode. Called from MainForm<br />- Add class to read values from device registry; used by KeyboardLockSensor<br />- Added new sensor to query the registry to monitor changes to keyboard lock status. On some devices, when a device is keyboard locked, only the device home screen is visible - even though the sound and vibration will play, MyExperience will not be in foreground and even if the user unlocks the keyboard during the notification, MyExperience will remain in the background. Uses the KeyboardLockSensor to detect a state change (user unlocks device), so that MyExperience can be put in the foreground and the notification can be restarted.<br />- In the NotificationForm, if Snooze is not enabled, simplify buttons to be "OK" and "Skip"; if neither Snooze or Dismiss are enabled, simplify buttons to be "OK" only (rather than disabling the Menu options)<br />- Added static method (Application_BringToForeground) to help force MyExperience to foreground (used in NotificationAction when keyboard unlocking event detected)<br />- Add property (LeftButtonText) to change text of left-button on NotificationForm (by default is "OK," but an example of a reasonable alternative might be be "Start")<br />- NotificationAction calls MyExperienceFramework Application_BringToFront method to ensure application comes to front in keyboard recently unlocked situations<br />- Added actions to hide and show the MyExperience Main form. Useful for: 1) hiding MyExperience after it is initialized on start-up (although we may want to look into hiding MyExperience completely on start-up at some point, so that even the initialization doesn't show up); 2) showing MyExperience just prior to a NotificationAction, so that the desktop is not visible between selecting OK and viewing the first survey panel. The 2nd purpose inspired the development of these Actions, as one user found the typical transition jarring.<br />- Added action (SelectNextQuestionAction) to determine next question to present (using Goto in the MyExperience protocol) based on a probability that any given question in a list of questions is presented. Replaces massive if-then statements from within MyExperience protocol script.<br />- Added method to Executable base: IsKeyboardLocked() checks the device registry to determine whether the keyboard is locked; returns true if locked, false if unlocked<br />- Added two properties that may be useful if using SetWallpaperAction to present images to the user that convey information, such as the status of MyExperience. Default values preserve original SetWallpaperAction procedures. UsesSimpleCopy uses File.Copy to copy the image to the wallpaper folder, bypassing resizing, transparency, and reformatting with JPEG compression. This is useful when an image includes text and can be tailored to the device screen dimensions ahead of time. ForcesRefresh is true by default. When set to false, skips step of switching to desktop and back to force the wallpaper to change. Useful if changing wallpaper when about to hide MyExperience (otherwise, jarring to switch back and forth, when going to the desktop anyway).<br />- Added MonitorKeyboardLock property to NotificationAction to allow protocol to specify whether to monitor the registry for change in locking status; by default, is false. I have some question about whether the registry checking may sometimes cause a phone to freeze. I haven't seen it in any of my devices, but I have received a few reports of MyExperience freezing on phones running this code. In case the registry is the cause, I have changed the feature to be optional (done only if the property is set to true in the protocol).<br />- Added new XML example (MyExperience_HaveUserSetRAndomStartEndTimes.XML) that demonstrates how to setup custom sensor settings based on user response<br />- Added properties to the MessageAction and the SurveyAction to allow a few customization options, particularly for running MyExperience with user-initiated surveys. Re-introduced AlwaysOnTop property for the SurveyAction, using the OnDeactivate method of the SurveyForm. If true (false by default), the SurveyForm will re-activate and stay on top, even if the user presses the home key or end-call key. Note that this setting may be problematic if widgets (such as the Camera/Video widget) need to be shown over the SurveyForm. Added a ShowTwoOptions property to the MessageAction to allow for left and right softkey options on that form. Also added an AlwaysOnTop property, which may be especially useful when the MessageAction is employed as an always-up form where the user can initiate survey entry. Both of these properties are false by default.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-87755801008777235912008-10-02T17:48:00.000-07:002008-10-03T13:21:58.981-07:00MyExperience Website DownAs a few users have noticed (thanks for the emails!), the MyExperience website is currently down. I am working with SourceForge to resolve this problem. It looks like it may have something to do with their <a href="http://sourceforge.net/community/forum/topic.php?id=3471&page&replies=2">recent data center migration</a> on 09/30. In the meantime, you can still visit the <a href="http://myexperience.wikispaces.com/">MyExperience Wiki</a> and download the MyExperience tool <a href="https://sourceforge.net/project/platformdownload.php?group_id=188488">here</a>.<br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Update 2008/10/03 10:30AM:</span> You can follow the status of this issue through a support request on the SourceForge website <a href="https://sourceforge.net/tracker/index.php?func=detail&aid=2142898&group_id=1&atid=200001">here</a>. So far, the support team has not been too helpful. Unfortunately, this is <a href="http://icolor2.blogspot.com/2007/02/sourceforge-downtime.html">not the first time</a> I have experienced problems with SourceForge with critical services that should be more reliable. I realize SourceForge is a free service and I do put that into perspective. However, I have contemplated switching over to other open source hosts like code.google.com but this would be time consuming and effortful so I would prefer otherwise.<br /><br /><span style="color: rgb(255, 0, 0); font-weight: bold;">Update 2008/10/03 01:17PM: </span>Fixed! There was an issue with index.php taking priority over index.html on the webserver. This problem never cropped up in the past and was a result of the transition to the new data centers on SourceForge.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-29851497419298215762008-08-15T06:15:00.000-07:002008-08-18T05:52:39.092-07:00MyExperience Script PlaygroundMyExperience uses a heavily modified version of the Simkin scripting language described on our Wiki <a href="http://myexperience.wikispaces.com/Scripting">here</a>. I've uploaded a program for Windows, called <a href="http://myexperience.wikispaces.com/space/showimage/ScriptWindow.zip">ScriptWindow</a>, to the Wiki. ScriptWindow allows you to play around with the scripting language a bit and get used to its syntactical structure. Note that this runs in Windows (e.g., XP or Vista) and not on the device. Thus, it's a nice little sandbox with which to experiment with loops and conditions among other operations.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW_2wbJPKqGUH8V2uSgH3qhLx1PDh4QgGwEUgG3ZURS5C0ugGppCU4AH8NdhDwykCzkNRBT8HeRHTpER0X8hQSERLQwShoThsn2n2BBC_WM92KaPzYhdTbpXElYT_xOHh3sKGmoOf8ZKIp/s1600-h/ScriptWindow.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhW_2wbJPKqGUH8V2uSgH3qhLx1PDh4QgGwEUgG3ZURS5C0ugGppCU4AH8NdhDwykCzkNRBT8HeRHTpER0X8hQSERLQwShoThsn2n2BBC_WM92KaPzYhdTbpXElYT_xOHh3sKGmoOf8ZKIp/s400/ScriptWindow.png" alt="" id="BLOGGER_PHOTO_ID_5234742071441047842" border="0" /></a><br />You can download ScriptWindow <a href="http://myexperience.wikispaces.com/space/showimage/ScriptWindow.zip">here</a>.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-9500666048025107992008-08-15T05:57:00.000-07:002008-10-03T11:26:58.417-07:00TroubleshootingWhen dealing with technology, inevitably not everything works the way we expect it or want it to. MyExperience offers a few ways of tracking down errors, which are described in the Troubleshooting section of the <a href="http://myexperience.wikispaces.com/HowDoI">How do I?</a> documentation on the Wiki.<br /><br />If you are experiencing an issue with MyExperience, the easiest and fastest remedy may be to email the MyExperience Users mailing list (sign up <a href="https://lists.sourceforge.net/lists/listinfo/myexperience-users">here</a>, view archives <a href="http://sourceforge.net/mailarchive/forum.php?forum_name=myexperience-users">here</a>) with a description and log file of your problem. The log file can be found on your device: \Storage Card\MyExperience\MyExperienceLog.txt.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-40666045500669438462008-08-06T11:29:00.000-07:002008-08-06T12:52:30.551-07:00MyExperience Version 0.8.2 ReleasedYou can download version 0.8.2 of MyExperience <a href="https://sourceforge.net/project/platformdownload.php?group_id=188488&sel_platform=4212">here</a>, which includes over 58 changes from the last release (if you want the source as well, click <a href="http://downloads.sourceforge.net/myexperience/MyExperience_v0.8.2_Source.zip?use_mirror=osdn">here</a>).<br /><br />Some of the highlights that were fixed/added in this version.<br /><ul><li>Quicker transitions between survey panels and the desktop toolbar no longer pops up for a few milliseconds during the transition</li><li>Added GetResponses() method to ExecutableBase that allows the survey designer to obtain all the responses for a given question. It returns an array of Response objects. Call Response.Value to get the raw value.</li><li>Fixed the IsActionTypeExecuting method so that it appropriately returns false/true</li><li>Fixed bug where after TimeOutForm is closed via tap/keypress, SurveyForm would not show up</li><li>Fixed region specific <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=2039105&group_id=188488&atid=925521">bug</a>.. Although this was originally marked as an issue with language, it is actually an issue with the regionality configuration of the device. I blogged about this issue <a href="http://csharponphone.blogspot.com/2008/08/importance-of-sqlcecommandparameters.html">here</a>.</li><li>Added GetTrigger() method to TriggerExecutable thereby allowing trigger scripts to get access to the trigger itself</li><li>Added ability to automatically change the startup image. New startup images can be defined by placing a PNG called "Startup.png" in the application directory.</li><li>Fixed the improper handling of negative number definitions in Simkin (e.g., i = -1 threw an exception because Simkin saw this as a subtraction sign rather than a negative sign)</li><li>Added the ability to get access to actions via the GetExecutingActions() and GetExecutingActionsOfType() methods in ExecutableBase<br /></li></ul>Click <a href="http://myexperience.sourceforge.net/releasenotes.txt">here</a> for the full release notes.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-72344609682747204762008-08-05T11:57:00.000-07:002008-08-05T12:02:07.504-07:00How Do I?Jennifer Beaudin has done a terrific job recently creating a very useful documentation section on the <a href="http://myexperience.wikispaces.com/">MyExperience Wiki</a> called <a href="http://myexperience.wikispaces.com/HowDoI">How Do I...?</a> This is sort of like a hybrid FAQ/Getting Started guide that covers some of the most important points about MyExperience and will surely save you time if you give it a read. I strongly recommend taking a look <a href="http://myexperience.wikispaces.com/HowDoI">here</a>.<br /><br />Note that the Wiki is constantly improving. As we find the time, we continue to add more helpful content and fill out incomplete sections.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-51193775371712536182008-03-10T16:02:00.000-07:002008-03-10T16:08:41.328-07:00Fixing Daylight Savings on Windows Mobile DevicesFrom <a href="http://www.microsoft.com/windowsmobile/daylightsaving/default.mspx">Microsoft</a>:<br /><blockquote style="font-style: italic;"><span style="font-size:85%;">Observance of "Daylight Saving Time" and "Summer Time," or the shifting of clocks by one hour, does not occur uniformly in the world. Some countries and territories follow a set of standard rules for the start and end dates of Daylight Saving Time while others follow their own calendar. You can find more information about exact dates and the potential impact to your time zones in the <a href="http://www.microsoft.com/windowsmobile/daylightsaving/default.mspx#changetime">Changes in Windows Mobile Daylight Saving Time</a> section.</span> </blockquote>In <a href="http://myexperience.sourceforge.net">the MyExperience tool</a>, time is critical. It can affect when you trigger events (e.g., self-report surveys), the timstamp that the collected data is annotated with, etc. Thus, it is crucial that you install <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3BD7C55C-8AC1-4821-81FE-3F4ADA831FE0&displaylang=en">this update</a> from Microsoft on your Windows Mobile devices before you begin your field studies.<br /><br />For more information, visit the <a href="http://www.microsoft.com/windowsmobile/daylightsaving/default.mspx">Windows Mobile Updates for Daylight Savings Time</a> page.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-57329620605677059862008-02-26T13:38:00.000-08:002008-02-26T13:41:45.468-08:00MyExperience Version 0.8.1 ReleasedYou can download version 0.8.1 of MyExperience <a href="http://sourceforge.net/project/showfiles.php?group_id=188488">here</a>. The direct link to the default download package (which does not include source code) is <a href="http://sourceforge.net/project/platformdownload.php?group_id=188488&sel_platform=4212">here</a>.<br /><br /><span style="font-weight: bold;">The Release Notes</span><br /><span style="font-size:85%;">- There was a bug in NotificationForm with regards to how Snooze was handled. I rewrote NotificationAction and NotificationForm such that the snooze functionality is now handled by NotificationAction outside of the modal dialog. This is probably how it should have been from the beginning. One relevant note is that NotificationAction assumes it is being called by a thread other than the UI thread.<br />- Fixed a bug in the GLOBALS subsection of the MyExperience.XML file where they appropriate values were not being seen by the application.<br />- Wrote a hack to force the MainForm to hide. For some reason, a simple this.Hide() or this.Visible=false; call will not work in MainForm. The menubar and titlebar refuse to hide. My hack basically grabs a handle to the desktop window and forces that to the top window.<br />- Added menu to LoadedSensorsForm to view properties (you could do this before by pressing the select button but that was nonintuitive)<br />- Added ability to slightly customize the MainForm via Global settings (e.g., you can set the left menu name, you can disable the debug menus from showing, you can disable exiting the program). The end goal, however, is still to make MainForm customization a first level object in the XML file.<br />- Set this.ControlBox = false on all relevant forms. This takes away the (X) in the upper-right hand corner on PocketPC devices<br />- Minor change to RandomTimeSensor, added readonly CurrentTimeBlock property<br />- Fixed LogViewerForm on PocketPCs<br />- Fixed GlobalsForm property view issue<br />- Can now access running actions from the AvailableActionsForm<br />- Fixed NullReferenceException bug in PropertyForm<br />- Added MspInstantActivitySensor whose state is a tuple <string,> where the string is the currently sensed activity and the int is the confidence score (e.g., "Walking, 89" or "Bicycling, 72"). This sensor can update its activity inference four times per second.<br />- Added MspMessage to create a more object oriented hierarchy around the MSP string messages received over bluetooth from the MSP device.<br />- Added two hsa_defs.txt files which is used by the MspHumanScaleActivitySensor. This sensor, unlike MspInstantActivitySensor, applies smoothing to activity states (thus it recognizes activities at the "human scale" rather than micro scale).<br />- Made sure that all connections received from Roam.SqlCe.SqlCeConnectionManager were immediately closed after usage of that connection completed. On the desktop, when using SQL lib, the correct operation is to grab a SQL connection, run a sql command (or a series of sql commands) and then immediately close the connection. On the mobile, because there is no SQL connection pool, the appropriate operation is to keep connections open as long as possible. This is because opening a connection on the mobile can take 1-2 seconds. This is not efficient. Thus, in Roam (http://www.sourceforge.net/projects/roam) I implemented my own SQL connection pool, which is also thread safe. A discussion about connection pooling and SQL thread safety on the mobile can be found on my csharponphone blog at http://csharponphone.blogspot.com/2007/01/keeping-sqlceconnection-open-and-thread.html (which was written more than a year ago now)<br />- Added some new debug views (e.g., one for viewing SQL information, one for viewing thread information)<br />- Added DownloadAction that can download an artifact (e.g., music file, image, etc.) based on a provided URL. We are currently using this in UbiGreen to download images.<br />- Added new overloaded SaveBinaryData method to Action class that takes in a Stream (rather than a byte array)<br />- Updated amount of DEBUG level logging that the DatabasePopulator class outputs. This should better help us track down issues people are having when MyExperience first starts. I also added more verbse INFO level logging to the Initialize method of MyExperienceFramework, which is automatically shown on the SplashScreen.<br />- Updated both the AudioRecorder and the CameraWidget so that they are more immune to accidental "double click" or "double keypress" issues.<br />- The AudioRecorder now has a _minimumRecordTime field (this has not been exposed as a property, however)<br />- Added RunningSensorCount property to SensorManager<br />- Updated way Globals closes its SqlConnection (it checks to see if the connection was already open on the current thread before closing it)<br />- Fixed a bug in SendSmsAction that was causing an exception whenever the empty constructor was used<br />- Added SaveResult enum that ScreenShotAction, DownloadAction, and others use as their action result<br />- Added MspWindowActivitySensor which just uses a moving window average for smoothing<br />- Added refresh menu item to LoadedSensorsForm<br />- Added CurrentStateDuration and PreviousStateDuration properties to Sensor<br />- Added new Question script type: OnCreate, which executes when the question is created<br />- Exposed GetQuestion in SurveyEngine such that a question can call "GetQuestion()" to get a reference to itself</span>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-64667057506069895542008-02-26T10:32:00.001-08:002008-02-26T10:35:21.326-08:00Added Actions Documentation to WikiSlowly but surely we are moving documentation over from this <a href="http://www.cs.washington.edu/homes/jfroehli/MyExperienceDocumentation.pdf">PDF </a>to the <a href="http://myexperience.wikispaces.com/Actions">MyExperience Wiki</a>. I just finished a draft of the <a href="http://myexperience.wikispaces.com/Actions">Actions</a> section complete with XML examples and screenshots. You should consult the Wiki before looking at the PDF (as the Wiki's documentation will always be more up-to-date).jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-80423451850660799172008-02-11T03:43:00.000-08:002008-02-11T03:45:54.038-08:00MyExperience Version 0.8 ReleasedYou can download MyExperience Version 0.8 with source <a href="http://downloads.sourceforge.net/myexperience/MyExperience_v08_source.zip?use_mirror=osdn">here </a>or without source <a href="http://downloads.sourceforge.net/myexperience/MyExperience_v08_nosource.zip?use_mirror=osdn">here</a>.<br /><br /><span style="font-weight: bold;">Release Notes for MyExperience v0.8</span><br /><span style="font-size:85%;">- 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<br />- Added RetryInterval property to SendSmsAction<br />- Updated GPS speed sensor to use different units, e.g., mph, kmph, knots.<br />- Refactored MyExperience.Sensors.Pols into MyExperience.Sensors.Gsm<br />- Fixed a bug in SimkinCS where setting properties using reflection were not properly being converted to the right types<br />- Exposed some ActionManager functionality in XML scripts via the ExecutableBase<br />- Updated KeyEvent class to have IsNumber and IsLetter Methods<br />- Updated PlaySoundAction so that volume can be set<br />- Updated RecordAudioAction so that the save file functionality works more like the ScreenShotAction<br />- Updated the CreateProcessAction to expose the ProcessStartInfo properties<br />- Added the KillProcessAction (which is essentially the opposite of the CreateProcessAction)<br />- Fixed bug in SimkinCS in TypeConverter.cs where a type could not be converted to itself<br />- Updated NotificationAction to include the ability to turn on the backlight during the notification (this is now on by default)<br />- Hooked up the TimeOutForm, i had forgotten to integrate this back in to the new SurveyForm after refactor<br />- Added DesktopVisibleSensor that fires a state change when the desktop becomes visible<br />- Stripped sensor history functionality out of the base sensor class (this was buggy and will be re-added again in future releases)<br />- Updated privacy-related functionality for one-way hashing privacy sensitive information that MyExperience logs such as incoming phone call numbers and names<br />- 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<br />- Renamed SmsSentSensor to SmsSentCountSensor<br />- Added in privacy preservation in the SystemStatesSensor and SystemStateSensor classes<br />- Fixed bug in SmsSentSensor when user had never sent any SmsMessages previously (thus, most recent message was null)<br />- Added ForegroundWindowSensor which is a polling-based sensor that fires a state change when the foreground window's title changes<br />- Update to AudioRecorder widget, added more thorough instructions to user about how to record their audio.<br />- Updated DatabasePopulator parse code slightly to log a WARNING when an unexpected start element is found outside an action, sensor, question, or trigger element<br />- 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"<br />- Optimized SurveyPanel display slightly in SurveyForm. I set the .Size to Form.ClientSize before the SurveyPanel was displayed.<br />- Fixed bug in MultilineTextBox, where the MinimumHeight was too small<br />- Updated DateTimePicker slightly to make MinimumHeight a few pixels taller<br />- Updated RandomTimeSensor with two new properties LastPrompt and TimeUntilNextPrompt that are viewable from the debug viewer making it easier to double check correct behavior<br />- Added ability to disallow going "back" in a SurveyAction<br />- Added feature to disable "next" until a user begins entering a response<br />- Put in simple debouncer on MainForm such that the left menu tap doesn't accidentally invoke multiple instances of a survey<br />updated exception handling in CustomComparer and ActionManager<br />- Fixed longstanding bug in DateSensor (see http://csharponphone.blogspot.com/2006/08/issues-with-systemstatedate.html)<br />- 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.<br />- Added SaveLocation flag enum to specify saving location (currently either in a file, in the database, or both)<br />- Fixed log font size on splash screen on pocket pcs<br />- Added Sleep function to ExecutableBase, which can be called from any script<br />- Added the HttpPostAction (this has not been tested, use at own risk)<br />- Added new action: SetWallpaperAction that sets the device's background wallpaper to the supplied image pointed to by the ImageFile property.</span>jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0tag:blogger.com,1999:blog-6275551900334860295.post-55632809655183962612008-02-04T01:49:00.000-08:002008-02-04T01:53:08.859-08:00Website UpdatedThe MyExperience website hosted on SourceForge at <a href="http://myexperience.sourceforge.net">http://myexperience.sourceforge.net</a> has now been updated with a large dose of new content including more information on the tool itself, a list of contributors, details on how to access the MyExperience source code, and new contact information. Documentation on our Wiki at <a href="http://myexperience.wikispaces.com">http://myexperience.wikispaces.com</a> is also in the process of being updated.jonfroehlichhttp://www.blogger.com/profile/15642573762258876817noreply@blogger.com0