Syllabus07: Difference between revisions
No edit summary |
mNo edit summary |
||
| Line 14: | Line 14: | ||
<strong>Resources</strong> | <strong>Resources</strong> (posted after class) | ||
(posted after class) | |||
[http://uberthings.com/teaching/wiki/index.php?title=Week_1:_HelloMIDlet HelloMidlet Tutorial for Eclipse] | [http://uberthings.com/teaching/wiki/index.php?title=Week_1:_HelloMIDlet HelloMidlet Tutorial for Eclipse] | ||
[http://uberthings.com/teaching/mobile_application_design/1/code.zip HelloMidlet Code (zipped)] | [http://uberthings.com/teaching/mobile_application_design/1/code.zip HelloMidlet Code (zipped)] | ||
== Week 2 ( | == Week 2 (Septber 11): Designing the Mobile User Experience (UX Workshop) == | ||
<strong>Discussion</strong> The web/laptop/desktop vs mobile user experience. Considerations when designing for mobile devices. What makes a good mobile application? Review of J2ME architecture + some programming concepts - discussion will cover the MIDlet life cycle, variables, control structures, constraints and limitations of working with J2ME. High level and low-level GUIs. | <strong>Discussion</strong> The web/laptop/desktop vs mobile user experience. Considerations when designing for mobile devices. What makes a good mobile application? Review of J2ME architecture + some programming concepts - discussion will cover the MIDlet life cycle, variables, control structures, constraints and limitations of working with J2ME. High level and low-level GUIs. | ||
| Line 43: | Line 44: | ||
== Week 7 (October 16): Dr Strangebug or: How I Learned to Stop Worrying and Love the Exceptions == | == Week 7 (October 16): Dr Strangebug or: How I Learned to Stop Worrying and Love the Exceptions == | ||
<strong>Discussion</strong>Exceptions, Threads. Going through code in-class. Lots of it. Improved kXML2 example - RSS. Small RMS example. | <strong>Discussion</strong>Exceptions, Threads. Going through code in-class. Lots of it. Improved kXML2 example - RSS. Small RMS example. | ||
== Week 8 (October 23): Mid-term Presentations == | == Week 8 (October 23): Mid-term Presentations == | ||
| Line 59: | Line 59: | ||
== Week 10 (November 6): Final Project Workshop AKA Open Questions/Issues == | == Week 10 (November 6): Final Project Workshop AKA Open Questions/Issues == | ||
<strong>Discussion</strong>Mmmm... Python. See my | <strong>Discussion</strong>Mmmm... Python. See my [[Python_Setup_Notes]] notes on the Wiki to get started. | ||
== Week 12 (November 20): Playing (with) the future (WAP + XHTML) == | == Week 12 (November 20): Playing (with) the future (WAP + XHTML) == | ||
Wireframe presentations for finals. I'll be introducing WAP, WML, XHTML MP, CHTML and CSS and we'll at look at how and why Docomo was so successful with it's iMode platform. If there's time we'll look at the | Wireframe presentations for finals. I'll be introducing WAP, WML, XHTML MP, CHTML and CSS and we'll at look at how and why Docomo was so successful with it's iMode platform. If there's time we'll look at the [http://wurfl.sourceforge.net WURFL](no, it's not a Star Trek character) and look at a few examples in PHP or Ruby. | ||
== Week 13 (November 27): Final Project Presentations == | == Week 13 (November 27): Final Project Presentations == | ||
Revision as of 21:59, 6 September 2007
Week 1 (September 7): Introduction to mobile
Discussion What you need to know about the mobile ecosystem, technologies (GSM, CDMA, TDMA, iDEN), devices, carriers. Development Process - including J2ME architecture (MIDP, CLDC, lifecycle). How to push your round idea through the square hole of wireframes, architecture and prototypes. Setting up your environment, writing your first program ("Hello Mob").
Assignments: 1. Presentation groups: Work in groups of 2/3 to research a topic in mobile technology, programming or design that is interesting, innovative or just noteworthy. Prepare a 10 minute presentation which will be presented to the class. Pick a date for your presentations on the PresentationSignup page
2. Set up your development environment correctly.
3. Download, install and setup Mobile.Processing
4. Build your own Hello World type application. Compile it and run it in an emulator of your choice. Upload the screenshot to your web site and create a link in the Wiki. Extra credit for choosing an exotic/obscure emulator.
Resources (posted after class)
HelloMidlet Tutorial for Eclipse
Week 2 (Septber 11): Designing the Mobile User Experience (UX Workshop)
Discussion The web/laptop/desktop vs mobile user experience. Considerations when designing for mobile devices. What makes a good mobile application? Review of J2ME architecture + some programming concepts - discussion will cover the MIDlet life cycle, variables, control structures, constraints and limitations of working with J2ME. High level and low-level GUIs.
Week 3 (September 18): Multimedia - Images, Audio, Video
Discussion Generating possible ideas for midterms, focusing on mapping (mGmaps), games (Mogi, Pang etc), social network applications - Nokia's Sensor, Imahima, BEDD, camera applications (Geosnapper), GPS Applications (uLocate), physical computing. The phone as multimedia production studio. Pros and cons of using the phone as a production platform. This is multimedia week - we learn about MIDP 2.0's Multimedia API and how to access it to record audio, use the onboard camera and get video too.
Week 4 (September 25): Networking - connecting to servers, parsing XML
Discussion Feedback on project directions. Overview of HTTP, XML. Guest lecture by Adam Greenfield - author of Everyware.
Week 5 (October 2): HTTP Part Deux
Discussion More HTTP. This time we'll cover the elusive XML data format and how to ensnare it with things like KXML. Also, in part two of our mystery guest series - we'll be getting a workshop from <a href="http://jexe.net">Jessie Boyes</a> - Java developer extraordinaire.
Week 6 (October 9): Where am I? (Location Workshop)
Discussion
This week we'll be thinking about location based applications. Topics include the basics of locating devices, getting data(GPS, BT GPS, Network lookups etc), using data on the server, plugging into maps.
Week 7 (October 16): Dr Strangebug or: How I Learned to Stop Worrying and Love the Exceptions
DiscussionExceptions, Threads. Going through code in-class. Lots of it. Improved kXML2 example - RSS. Small RMS example.
Week 8 (October 23): Mid-term Presentations
'Nuff said.
Week 9 (October 30): Obfuscation, HTTP POST, Bluetooth
DiscussionWe'll cover how, why and when to use obfuscators. Images in J2ME. Sending images and text with HTTP POST. The ins and outs of Bluetooth (if we get time).
Week 10: Final Project Workshop AKA Open Questions/Issues (November 6)
Topics include: Threads, Unicode, Bluetooth, PIM API, N95 and the MMAPI. Build, compile, run. Debug, build, compile, run. Debug, build, compile, package, install. This week is all about getting your application to work. Debug debug debug. Build build build. We'll discuss ways of adding finishing touches to your MIDlets such as icons, packages and awesomeness.
Week 10 (November 6): Final Project Workshop AKA Open Questions/Issues
DiscussionMmmm... Python. See my Python_Setup_Notes notes on the Wiki to get started.
Week 12 (November 20): Playing (with) the future (WAP + XHTML)
Wireframe presentations for finals. I'll be introducing WAP, WML, XHTML MP, CHTML and CSS and we'll at look at how and why Docomo was so successful with it's iMode platform. If there's time we'll look at the WURFL(no, it's not a Star Trek character) and look at a few examples in PHP or Ruby.
Week 13 (November 27): Final Project Presentations
Week 14 (December 4): Final Project Presentation
Guest Critics will be posted here.