This directory contains the ContextPhone prototype software for Nokia Series 60 versions 1 and 2 and some server-side scripts. NEWS: Newest version now with Blackboard architecture and experimental 6630 support! NOTE. NOTE. NOTE. In its default form this software stores and forwards private information ('spyware'). You have to disable those features yourself. The software is primarily meant to be a research tool and not end-user software. Read through these instructions very carefully. This software is a prototype and may affect the functionality of your mobile phone adversely including the need for a factory reset. Back up all your data before using. This software can send SMS and connect to the network on its own. Please make sure you understand all the settings before using to avoid undesired additions to your phone bill. Installation ------------ If using Radiolinja Finland's or Sonera Finland's network If you are using Radiolinja or Sonera Finland's network the software will automatically try to use the locationing service when it deems a location important. You can switch this off at the settings: 'Use operator locationing: no'. In order to use the Radiolinja locationing service, you have to 1. register to service via http://paikannin.radiolinja.fi/ 2. add your own phonenumber as a buddy with the name 'itse' 3. give that buddy the right to locate you (can be done when adding the buddy) Since the software will try to use the locationing even if you haven't registered to it, not registering will just result in _a lot_ of stupid messages. On the phone The directory s60v1 is for Series 60 version 1 (Nokia 3650, 7650), s60v2 for version 2 (6600). In order to run the software, grab the following .SIS files from the appropriate directory: - [Cc]ontext*.SIS - expat.SIS - mdaaudioinputstreamplugin.SIS (version 1 only) - starter.SIS, autostart.SIS (automatic start and watchdog) and install them on your phone _on C:_. Only get the starter.SIS and autostart.SIS if you want the software to be started automatically on turning the phone on. If you do get them, install them last. The installed applications will be 'context_log' and 'contextbook'. The context_log is used for logging of context data, configuration, communication of user's context via Jabber, location recognition, uploads etc. and should be left running in the background all the time. Contextbook is a replacement Phonebook with presence data. Note that 'context_log' will by default start to a screen with no functionality available. Press '5' three times to bypass it, and enable the normal screen with 'Enable Options'/'Näytä asetukset' in the settings. On a server If you do not want to upload your logs to our server you can set up your own. The requirement is that you can run perl-based cgi-bin programs and that you modify the provided scripts to use correct directories for your own server. Put the scripts from the 'scripts' directory to your cgi-bin directory on your web server and modify them to suit your needs. Configure the software on the phone to use that location for uploads. The 'put3.pl' script handles uploads, 'pics.pl' (optional) handles showing of the picture gallery. Features -------- The basic features of the software are: - logging of contextual data: gsm cell, application use, bluetooth environment, phone use activity, communication - identification and naming of important locations from the cell data (uses automatic naming service on Radiolinja Finland's network) - upload of logged data to an HTTP server (manual upload with BT and IR available as well) - recording the beginning of calls and content of SMSes for a certain contact group (named 'Record', and only for such. If the group doesn't exist nothing is recorded). Recording of calls only works on version 1. - automatic upload of any media captured with the phone - communication of current contextual data via the Jabber protocol and receiving such data from other people - custom Phonebook that is used instead of the phone builtin (includes showing of presence for other people) Note that some of these need configuration of the software. Configuration ------------- To get to configuration from the context_log startup view, go - Options|Settings The options are: Enable options: whether Context Log will open to the complete view or a restricted one on startup. In the restricted (My Context), press '5' three times to get to the full one. Enable data logger: disable this if you do not want data about the phone's environment and use to be logged and sent to our server. Enable log uploads: whether logs get sent to (our) server automatically. If yes, the URL base for uploads and script are used to know where. Enable presence: use Jabber yes/no. Also available as Suspend/Resume presence in the menu. URL base and script name for uploads: where logs get uploaded. Enable operator locationing: whether to ask for place names from the operator (Sonera/Elisa in Finland only). Prompt for names: whether to ask the user for place names or not. Users are asked both for 'bases' as well as city names per LAC. Vibrate only: if yes, no audible alert is played for prompts. Record all calls: NO. Right key to context: NO. Allow roaming: if yes, logs get uploaded even abroad. Bluetooth scan interval: how often the bluetooth neighborhood is retrieved. Set it 0 to disable bluetooth scanning. GPS log time: how long the GPS data is logged after each scan that finds the set GPS device. Snapshot on SMS reception: NO Snapshot record time: doesn't matter if the above is set to NO. Use MMC: whether any files get put on the MMC. If you have problems with corrupt MMCs, or you often change cards, set to NO. Project name: only valid for aware-uploads. Author name for upload: valid for aware-uploads, get set automatically in ContextMedia. Upload tagging: how to annotate captured media. URL base and script for publish: media publication publish, gets set automatically for flickr. Enable media publishing: does media get automatically prompted for upload, and through which app (context log or contextmedia). Delete media after upload: if using automatic uploads, whether to delete the media or to move it to a 'Shared' folder. Ignore media notifications: aware only. IP Access Point: the access point used for uploading, publishing and jabber connection. Default: none Jabber Nick: if you want to publish your presence, this is the jabber identifier for yourself. It must be registered with a server beforehand, this software doesn't handle registration. If not set, no communication with a jabber server is done. It must include the servername, e.g.: 'mikie@jabber.org'. Default: none. Jabber Password: the password for the nick. Default: none. HTTP proxy name and port: whether uploads should go via a proxy. Enable Loca Bluejack and other Loca stuff: disable Enable ContextNw: NO, ContextNetwork settings: doesn't matter. Uploads ------- Since the software logs quite a lot of data, it has to uploaded regularly to keep the phone memory from filling. _This cannot be disabled by the user_ in the current version, but if you don't specify the IP Access Point or specify a non-working one the logs won't be uploaded. It can be disabled at compile time. See the 'URL base for uploads' setting and the scripts for how uploads are handled. You can manually send the logs to a local machine via Options|Transfer logs|Send in the context_log. Notes ----- NOTE. NOTE. NOTE. In it's default installation the software will log private information and upload this to our server. You'll have to change the settings to change this, and the upload cannot be totally disabled in the current version. We will have access to logs uploaded to our server. At the moment we haven't worked out the legal issues in how this should be handled, so we won't be allowed to use them. If you are uploading to our server we'd appreciate if you'd send us a note detailing what kind of access to the logs you might allow. If you are on some other network than Radiolinja Finland the software will ask you to name places when it finds them. The alert obeys the profile setting, but may of course disturb on an inconvenient moment. To confirm the name you've given, click on the joystick (the application buttons don't work). The GPRS connection is torn down and the connection to the jabber server terminated only if both the context_log and the book are shut down. So at the moment to disable jabber after it has been used, do: - set Enable presence No - close context_log - close contextbook - restart context_log The software tries to keep at least 500 Kb free on C: and stops all disk writes if the free space drops below this. At the moment the software only works if installed on C:. The Contextbook will be activated from the main phone screen if you press the call button or click the joystick. You can use the phone's menu to access the builtin phonebook. The 'Back' button on both log and book only sets the app to the background. Use Options|Shutdown and Options|Exit to really close them. The context_log is also restarted automatically in the event of a crash, if you are using the automatic startup, so it's normally a good idea to use this Presence service ---------------- Quick startup for using the presence stuff: - make sure you have a working internet access point - register a jabber account on any publicly available jabber server, and add your buddies to your buddy list - note that they have to authorize you before you can get their presence - install the software on the phone (all in Phone memory), restart phone if using automatic start - set you own jabber nick, password and IP access point in context_log (Options|Settings). - After setting the access point you should test it by transferring the log files (Options|Transfer logs|via HTTP) - it should say 'Transferred' at the bottom of the screen after a while - restart the context_log (restart phone if using automatic jadda jadda..) - in the ContextBook add the nicks for your buddies (Options|Jabber Nick) The presence doesn't work if context_log is not running. I think the book doesn't reget the presence information after you've added a nick to a contact, it will show the info after the next update. Restart the book if needed sooner (Options|Exit). Rights, redistribution and so on -------------------------------- This software is licensed under the GPL, version 2 or later. The authors and copyright holders are Mika Raento and Renaud Petit, except where otherwise noted in the source code files. See the file source/COPYING.txt for details. If you do use the software we'd appreciate that you acknowledge the source. Contact us for an appropriate citation text. It is not unthinkable for us to license this code under some other open-source license as well. If you feel that there are aspects in the GPL that don't fit your work, contact us and we might be able to provide another license. Source code ----------- A dump of the source code can be found under source/ Mika Raento HIIT/BRU