Sycophant User-Context Framework

Research Project of Anil Shankar, Ph.D Candidate, Computer Science and Engineering, University of Nevada, Reno, NV, 89557

User login

Windows Installation

Directions for future research:

  • In terms f research, Sycophant can be deployed to conduct additional long-term user studies. ser-context data gathered from multiple desktop applications across different ser populations can provide more insight about predicting user preferred actions. ycophant’s generalizability can be further evaluated across applications and user roups.

 

  • I developed C-API iteratively based on user feedback during Sycophant’s deployment uring different phases of my research. Like any software, this API can be refined further and more rigorously tested. Even though C-API’s design was ot specific to any operating system, its use was mostly tested onWin32 platforms. Modifying C-API and testing it on Linux/MAC platforms to reach a wider user opulation would provide avenues for context-enabling desktop applications on hese two platforms.

 

  • C-API’s learning services layer supports methods to easily select any machine earning algorithm for predicting user preferred application actions. Sycophant’s action prediction task can be cast as problem of predicting a user’s behavior in a dynamic environment (where user preferences are contextual).

 

  • Predicting userpreferred application action types through trial-and-error can then be considered  as reinforcement learning problem . Reinforcement learning provides a wide variety of learning solutions that can be evaluated for desktop application personalization.

 

  • C-API can be incorporated as a thin layer within an operating system. C-API’s services could then facilitate the construction of new context sensors and features.These new CPI services would support application programmers develop and deploy novel context aware desktop applications.

 

  • Conducting user studies that evaluate a desktop’s personalization based on task-related data and user-context is another avenue for extending my research.Merging task-aware user interfaces research with my user-context based approachwould collect richer information related to a user’s primary task and her externalenvironment. Application personalization can then be evaluated based on these two data sources.

 

  • The latest advances in customizable hardware (community electronics) wouldalso enable the creation of new context sensors. For example, Bug Labs provideshardware with electronic modules that can be used to build context sensors. BUGview is an LCD screen with a touch sensitive interface that functions both as a display and an input device [2]. Instead of using a pop-up interface, Sycophant can solicit user feedback through BUGview thereby ameliorating some of the annoyance caused by pop-up feedback. Wider adoption of such community electronics devices can lead to novel user-context sensors for richer personalization.

 

  • Learning user-activity patterns through applications’ use could also enrich existing computer security methods. For example, if a system discerns that thereis motion in Jack’s environment after 9 A.M. during weekdays, Jack’s computer can generate a security notification if it detects motion in Jack’s environment at 6 A.M. during the weekend. My investigation into context-based user preference learning approaches also has the potential to address the needs of non-traditional users. Such user preference learning can improve accessibility for visual/hearing impaired users, senior citizens and young adults. For example, graphical user interface could automatically learn the position and size of interactive elements and improve user experience for these under-represented user communities.


 To install sycophant on Windows,

  1. Download Sycophant Installer and follow the directions.
    • This installer installs the necessary software components as specified in the requirements

 

Setting up your Google Calendar parameters

Go to c:\winsyco\data\params

Open the file: GCalParams.txt in your favorite Text Editor
Here is an example file with the associated line numbers, instructions are given in parentheses.

  • User Name= Joe Strummer, R.I.P (Specify your name here)
  • Calendar Link= http://www.google.com/calendar/ical/dummylink.calendar.google.com/public... (this your google calendar link, more instructions are provided after this section)
  • alarmCheckInterval(seconds) = 30 (how often do you want sycophant to check if you want any alarms
  • Minutes before you want your alarm= 10
  • Visual Reminder or Feedback Request pop up timeout (seconds) = 12
  • Your java path = /home/syco/jdk1.6.0/bin/java

Getting your Google calendar link. Sign in to your Google Calendar account (http://calendar.google.com)

  • Click on "Settings" in the top right corner
  • In the Calendar Settings page, click on the "Calendars" tab
  • Click on your calendar
  • In your "Calendar Details" tab, go the "Calendar Address" item and click on "ICAL"
  • A link pops up. Copy and paste this link in $HOME/.syco/data/params/GCalParams.txt


Updates

Update-1 : Nov. 29, 2007

  • Fortune Generator bugs fixed. Here is the update.


Requirements

  1. Python
    • basic running platform required by sycophant
  2. Python Imaging Library
    • used for moion detection
  3. PyHook
    • used for hooking keyboard/mouse events on Windows
  4. Python Windows Extensions
    • used to interface with windows
  5. MicroSoftSpeech API
    • used for speech detection
  6. Java
    • weka/XCS depends on java availability
  7. wxPython
    • used for generating visual alarms
  8. Python ICal Library
    • used for parsing your Google calendar appointments
  9. Python Video Capture
    • used for grabbing images from your webcamera
  10. Sycophant User context software


Powered by Drupal - Design by Artinet