Intro |
Remixes |
www.flickr.com—show Laptop Stickers |
Just let go in L.A. - DJ Earworm |
Admin |
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 |
We are interrupting our current case study |
XMLHttpRequestObject |
If you are having trouble manipulating XML with built-in browser functionality (cross platform is horrible here)... |
check out xml for <script> |
Two well-documented cross-platform manipulation tools |
xmlw3cdom.js (or tinyxmlw3cdom.js) |
xmlsax.js (or tinyxmlsax.js) |
Here is the web site that uses these libraries to give you an example of how to interface with the library |
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; } } } |
Nokia |
Programming Model and Features |
Java Development |
Series 60 supports |
J2ME a subset of JAVA |
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) |
"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 |
U/I |
Adding a "command" to a "screen" |
Hooks exist for |
Display images |
Timers |
Threads |
Networking |
slide |
SMS |
Bluetooth |
SDKs |
Series 60 Platform SDKs for Symbian OS, for Java |
free registration for developers |
Series 60 Platform |
Symbian OS |
proprietary OS |
buggy (at least JVM is buggy) |
Basics |
Communications |
Telephony |
IR |
Bluetooth |
Messaging |
SMS |
MMS |
Email |
IM |
Browsing |
WAP/HTTP |
Developers |
C++ |
Java |
Content |
Python |
Visual Basic |
Raw Tools |
Here is the basic sequence |
documented on a wiki: |
Install JVM 1.5 from java.sun.com |
This runs the emulator and Eclipse |
Then install the Nokia S60 SDK for 3rd Edition |
This is the set of libraries and emulators ofr linking and emulating phone apps |
Then install Eclipse 3.1.2 |
This is the IDE for developing apps - very general |
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 |