Syllabus07: Difference between revisions

From Mobile Application Design
Jump to navigationJump to search
 
(12 intermediate revisions by the same user not shown)
Line 159: Line 159:
We'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).
We'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).


'''Resources'''
* [http://uberthings.com/teaching/mobile_application_design/10/week10_HTTP_POST_uploader.pdf Lecture Notes]
* [http://mobilenin.com/pys60/ex_upload_image_to_url.htm File upload (in Python)]
* [http://aymanshamma.googlepages.com/httppostfrompys60tophp HTTP POST in Python]


=== Week 11 (November 20): Playing (with) the future (WAP + XHTML) ===  
=== Week 11 (November 13): Playing (with) the future (WAP + XHTML) ===  


'''Discussion'''
'''Discussion'''


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.
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 12 (November 27): Final Project Workshop AKA Open Questions/Issues ===


'''Discussion'''
* [http://uberthings.com/teaching/mobile_application_design/11/week11_feeling_wappy.pdf Lecture Notes]
* [http://uberthings.com/teaching/wiki/index.php?title=Week_12:_WAP_Tools Useful WAP links]
 
'''Assignments'''
 
* Create wireframes/mockups and a brief presentation (~3 min) for your final project.
 
=== Week 12 (November 20): Final Project Workshop AKA Open Questions/Issues ===
 
* [http://uberthings.com/teaching/mobile_application_design/12/ITPpreso.pdf Mobile Web Tips & Tricks Presentation] from Sean Owen, Software Engineer at Google.
 
=== Week 13 (November 27) Special Presentation ===


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.
Some very special guests come to class this week to talk about their experiences building interesting mobile apps.


=== Week 14 (December 4): Final Project Presentation ===
=== Week 13 (December 4): Final Project Presentation ===


Guest Critics will be posted here.
Guest Critics will be posted here.

Latest revision as of 09:09, 20 April 2008

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. Create an account on this wiki
  2. 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
  3. Set up your development environment correctly.
  4. Download, install and setup Mobile.Processing
  5. Build your own Hello World type application. Be as creative as you like. Use Eclipse or Mobile.Processing. Compile and run it in an emulator of your choice. Upload the screenshot to your web site and create a link here - Week_One. Extra credit for choosing an exotic/obscure emulator.

Resources

Lecture Notes

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.

Special guest: Jennifer Bove from Schematic + another mystery guest (Leonard Lin from Upcoming)

Assignments:

Theme: Zombies (or to be decided in class)

  1. Come up with an idea for a simple one or two screen MIDlet that uses some of the high level user interface components creatively. Run through the steps of the mobile development process that we went through in class. Check out these sites for inspiration: superbad and jodi. View source! Document your work on your blog / site, then link to it here - Week_Two
  2. FOR ADVANCED STUDENTS (OPTIONAL): Use a low-level UI class like the Canvas or GameCanvas to draw an image on the phone's screen.
  3. What is your favourite mobile application (it can be anything on the phone - downloaded apps, native apps, sms etc)? Why? Write up a few paragraphs on why you like it on your blog, and what you would improve (if anything) and bring a screenshot of the interface or the application on your phone. Link all the relevant bits here - Week_Two
  4. If it isn't there already, add a link to your favourite application in the Links section of the Wiki.

Resources

Week 3 (September 18): Building the User Interface

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. Threads. Why we love 'em. Packaging. How to use Canvases.

Assignments:

Theme: to be decided in class

  1. Start thinking about an idea for a larger project that you'd like to work on. Blog your idea - include references to APIs that intend to use, links and pictures. Sketch out a simple wireframe / interaction diagram for your idea. Also include a paragraph and some links about your inspiration for this idea.
  2. Take your idea for the simple MIDlet from Week Two and create it using Forms or Canvases - OR - create a MIDlet which uses the Canvas to listen for button presses and does something interesting with that data. Please add your source code to the Wiki and try use MPowerPlayer's Webstart to link to your JAD files.
  3. Create a simple MIDlet which uses a Canvas to create a simple animation. Please add source code to the Wiki.
  4. Read chapter 5, 19 and 45 from Everyware. Think about what Greenfield is saying in light of your own ideas above. Write a short paragraph about how these concepts influenced your idea (or not). Prepare two good questions for in-class discussion. Link these to the HomeworkWiki. Adam Greenfield has kindly provided us with PDFs of the chapters required - so you don't even have to buy the book.

Resources

Week 4 (September 25): Multimedia & Networking

Discussion

Feedback on project directions. 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. Overview of HTTP, XML.

Assignments:

  1. Create a MIDlet that connects to a server and downloads images / files / some data which you then use to do something.
  2. Review two of your classmates midterm projects. Write a paragraph of commentary/questions - post to their blog. Everyone should have at least two comments on their project.
  3. Refine your midterm project concepts, be prepared to discuss in greater detail next week.

Resources

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 Jessie Boyes - Java developer extraordinaire.

Assignments:

  1. Make a little game using some of the techniques you learned in class today OR use the XMLDemon example to create a MIDlet that reads some XML somewhere and does something interesting based on that.
  2. Wireframe your midterm ideas. Figure out how you will build it. Choose a handset, SDK and emulator for your project.

Resources

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.

Assignments:

  1. Write a single paragraph description of what you are doing for your mid-term. Link it to the wiki. Send it me for review when it's done.

Resources

Week 7 (October 26): Dr Strangebug or: How I Learned to Stop Worrying and Love the Exceptions

Discussion

Exceptions, Threads. Going through code in-class. Lots of it. Improved kXML2 example - RSS. Small RMS example.

Assignments

  • Work on your mid terms!

Resources

Week 8 (October 30): Mid-term Presentations

'Nuff said.

Week 9 (November 2): Python.

Discussion

Mmmm... Python. See my Python_Setup_Notes notes on the Wiki to get started.

Resources

Week 10 (November 6): Obfuscation, HTTP POST, Bluetooth

Discussion

We'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).

Resources

Week 11 (November 13): Playing (with) the future (WAP + XHTML)

Discussion

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.

Assignments

  • Create wireframes/mockups and a brief presentation (~3 min) for your final project.

Week 12 (November 20): Final Project Workshop AKA Open Questions/Issues

Week 13 (November 27) Special Presentation

Some very special guests come to class this week to talk about their experiences building interesting mobile apps.

Week 14 (December 4): Final Project Presentation

Guest Critics will be posted here.