Syllabus07: Difference between revisions

From Mobile Application Design
Jump to navigationJump to search
mNo edit summary
mNo edit summary
Line 20: Line 20:
[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 (Septber 11): Designing the Mobile User Experience (UX Workshop) ==  
== Week 2 (September 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.

Revision as of 22:01, 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

HelloMidlet Code (zipped)

Week 2 (September 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.