wedge Intro
wedge Remixes
* www.flickr.com—show Laptop Stickers
* Just let go in L.A. - DJ Earworm
wedge Admin
wedge Where are we in the class?
* 1/2 of our Human Subjects work done -> Assignment #4 due May 8th
* initial u/i sketch done -> you are waiting for feedback, we'll be done with that late Friday
* project should be in progress -> due May 22nd
* Next week are case studies, then a week of project development (no class), then one more case study, then Anteater Idol
wedge We are interrupting our current case study
wedge XMLHttpRequestObject
wedge If you are having trouble manipulating XML with built-in browser functionality (cross platform is horrible here)...
wedge check out xml for <script>
* xmljs.sourceforge.net
wedge Two well-documented cross-platform manipulation tools
* xmlw3cdom.js (or tinyxmlw3cdom.js)
* xmlsax.js (or tinyxmlsax.js)
wedge Here is the web site that uses these libraries to give you an example of how to interface with the library
* www.ics.uci.edu—globalNightCommute.html
wedge Here is the some Javascript code that shows how to use it:
* parser = new DOMImplementation();
* if (ready == READY_STATE_COMPLETE){

//load the XML into the parser and get the DOMDocument
var domDoc = parser.loadXML(req.XMLHTTPRequest.responseText);

//get the root node (in this case, it is ROOTNODE)
var docRoot = domDoc.getDocumentElement();

plotData(docRoot)
}
* function plotData(x){
//Draw the title
if(freezeTitle == 0){
var header = document.getElementById("header");
if(header != null){
var title = x.getElementsByTagName("title").item(0);

if(title != null){
header.innerHTML=title.getFirstChild().getXML();
freezeTitle = 1;
}
}
}
wedge Nokia
wedge Programming Model and Features
wedge Java Development
* www.forum.nokia.com—DP_2_0_for_Series_60_Designing_Java_Applications_v1_0_en.pdf.html
wedge Series 60 supports
* J2ME a subset of JAVA
wedge MIDP 2.0 (a set of device features)
* http connections
* socket connections
* JSR-120 (java-based SMS)
* JSR-135 (java-based media player)
* JSR-82 (java-based bluetooth)
wedge "Midlet"
* program that is written for J2ME specs
* screen size varies
* "keyboard varies"
* phone calls interrupt application
* network outages to be expected
* Program is a set of screens through which a user navigates
wedge U/I
* Adding a "command" to a "screen"
wedge Hooks exist for
* Display images
* Timers
* Threads
wedge Networking
* slide
* SMS
* Bluetooth
wedge SDKs
* Series 60 Platform SDKs for Symbian OS, for Java
* free registration for developers
* S60 Platform Introductory Guide
wedge Series 60 Platform
wedge Symbian OS
* proprietary OS
* buggy (at least JVM is buggy)
wedge Basics
wedge Communications
* Telephony
* IR
* Bluetooth
wedge Messaging
* SMS
* MMS
* Email
* IM
wedge Browsing
* WAP/HTTP
wedge Developers
* C++
* Java
* Content
* Python
* Visual Basic
wedge Raw Tools
wedge Here is the basic sequence
wedge documented on a wiki:
* djp3.net—index.php
wedge Install JVM 1.5 from java.sun.com
* This runs the emulator and Eclipse
wedge Then install the Nokia S60 SDK for 3rd Edition
* This is the set of libraries and emulators ofr linking and emulating phone apps
* www.forum.nokia.com—0,6566,034-483,00.html
wedge Then install Eclipse 3.1.2
* This is the IDE for developing apps - very general
wedge Then install Carbide.J from Nokia
* This is a set of tools that package your java program into an application for deployment
* Go through a live example