Always On, Always Connected
Shawn Van Every Shawn.Van.Every@nyu.edu
Tuesdays 12:30 PM to 3:00 PM
Syllabus (this page): http://itp.nyu.edu/~sve204/alwaysonalwaysconnected_spring14/
Google Group/Listserv: https://groups.google.com/a/nyu.edu/forum/?fromgroups#!forum/itp-always-on-always-connected-spring-2014-group
With their always on and always connected nature, mobile devices (phones and tablets) have become the center of our connected self. They offer us the ability to access the network anywhere at anytime, enabling us to share our experiences and share in the experiences of others. They are also starting to emerge as the hub of an emerging set of smart personal accessories such as watches, glasses and jewelry.
In this class, we'll examine the current state-of-the art in mobile technology and smart devices. We'll focus on developing applications using the Android SDK and various accessory SDKs such as the Glass Development Kit for Google Glass (pending availability) and possibly the Pebble SDK.
ICM level programming experience is required.
Wednesdays from 4PM to 5PM and Thursdays from 3PM to 4:40PM or by appointment
25% Class Participation/Attendance
20% Final Project
The first half of the course is focused on App development with Android. Rather than spend the bulk of our class time going through Android projects, I have prepared screencasts and we'll use some portions of Android SDK Essential Training on Lynda.com, (Free access for NYU) to deliver the mechanics of Android development in lecture form. In class we can focus on going through problem areas, covering additional topics, discussion, group work, help sessions and so on.
The second half of class we'll be working with new technology and new topics that aren't well covered that we'll have to discover together.
Assignments and Blog:
We will have weekly assignments that are relevant to the previous weeks material. Assignments must be documented (descriptions, photos, screen shots, code, thoughts, and so on) on your blog (see below). They are required and turning in an assignment late will adversely affect your grade.
It is expected that everyone in the class will create and maintain a blog or website for their assignments as well as other related material. You are welcome to reuse an existing blog but please make it clear which entries are for this course (perhaps with a category).
Be sure to enter your name, preferred email address and the URL to your blog (you can always edit this later) on the class wiki
This class is very participatory in nature and discussions will certainly take place outside of the classroom. The primary vehicle for these discussions (as well as administrative issues) will be the listserv. You are required to join.
Each week (starting the 3rd week of class) we will have student presentations. I will randomly divide up the class and schedule the presentation dates. The topic of the presentations should be a new or somewhat new mobile media technology (hardware, software or service) that relates to the overall topics in the class. The presentations should cover what the technology/service is, what is novel about it, how are people using it and so on.
Class will culminate with final group projects. Being that this is a group project, it will be difficult to work on a thesis project as the final project for this class. Combinations with other classes that you are taking (aside from thesis) are encouraged.
This class will be highly participatory, you are expected to contribute to discussions and give feedback to other students. This (along with attendance) is 25% of your overall grade.
Mandatory. Absences will affect your final grade. If you are going to be absent, please let me know ahead of time if you can.
Excessive lateness will affect your grade. Don't be late.
Laptop use is prohibited while other students are presenting or during discussion. While I am lecturing you may use them for note taking or class related work. In other words, respect your fellow students and don't check your email.
There will be assigned periodic readings. Generally they will be online though occasionally I may hand out a hard copy. These readings are required and are very valuable in class discussions.
There are quite a few blogs and other websites that track the mobile/wireless industry. These along with what we collectively find (use the del.icio.us tag alwaysonalwaysconnected) are good starting points:
Class 1 - 1/28
Introductions: Discussion, Syllabus and Examples, Mobile Devices, Getting Setup for Development
Go through the 3 screencasts in the notes, build a "Hello World" example and then take it a step further. Bring it to class next week to work on further.
Go through the first 3 parts (About Android, Getting Started, and Development Fundamentals) of Android SDK Essential Training on Lynda.com, (Request Free Access Here)
In your blog, write about your relationship to your phone? What is it's effect on you and your life?
Make sure to sign up for the Google Group and add your blog URL and email address to the class wiki.
Part 1 - Mobile Apps, a New Medium
Class 2 - 2/4
Mobile App Development with Android
Planning, Wireframing, User Interface Components and Android Development Basics
Notes Development Basics - Activities
Go through the notes above, watch the screencasts, try out what you learned
Watch Section 4, Defining Activities and Section 5, Debugging Android Apps on Lynda.com's Android SDK Essential Training
Get started on the app idea you came up with in class. Write out the concept, use cases, and user scenario on your blog.
Wireframe and Start development on it. Build the Activites/Views required and link them together via Intents.
Read and respond to The Fable of the User-Centered Designer on your blog.
Class 3 - 2/11
Mobile Development with Android Continued
Displaying Images, Audio, Video, Web Pages and more
Watch Section 6, Managing Navigation on Lynda.com's Android SDK Essential Training
Read and go through examples in Pro Android Media, Chapter 1 (Introduction to Android Imaging), 5 (Introduction to Audio on Android), and 9 (Introduction to Video)
Continue development on the app you have been developing. Include media playback or image viewing support.
Class 4 - 2/18
Cameraphones, Media Sharing, News, and Activism
Read and go through examples in Pro Android Media, Chapter 2, 3 and beyond (based on your needs and interest)
Develop a small quick application that either features a webview.
Create a GitHub account and post your previous and current homework to it. Add it's URL to Our Class Wiki
Class 5 - 2/25
Sensors - Compass, Touch, Accelerometer, Location Sensors
Custom View Screencast
Custom View with Touch Capabilities Screencast
Location and Mapping
Try to extend some of the examples from class, for example, create a finger painting application or use the accelerometer to draw
Brainstorm and come up with 2 different midterm ideas, document them on your blog in whatever means you need to explain the idea to class (images, text, video, other apps, etc..)
Class 6 - 3/4
Network Services, Media Sharing, Data Storage/Persistence
Build, document and prepare to present your midterm project. Remember this is a one week assignment so while it is more than a weekly homework assignment it doesn't have to be a full application. It could be a portion of an overall idea or a smaller project. Please make sure you document the concept/idea, do wireframes and any other diagrams you might need, and finally execute it.
Schedule yourself in a presentation slot: https://itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?AOAC_Spring_2014_Midterm_Presentation_Schedule
Class 7 - 3/11
Part 2 - Connected Accessories - New Extensions of Self
Class 8 - 3/25
Embrace your cyborg self
Either, get your midterm app launched in the Google Play store OR create a simple Google Glass app.
Class 9 - 4/1
Building our own Accessories and Sensors
Either continue with a simple Google Glass app OR get started with a simple bluetooth example. Prototype a very basic accessory (a button?).
Class 10 - 4/8
Building our own Accessories and Sensors
Bluetooth Low Energy
Brainstorm and come up with one or more final project ideas, document on your blog in whatever means you need to explain the idea to class for next week (wireframes, design, images, text, video, other apps, etc..)
Class 11 - 4/15
Final Project Proposals
Class 12 - 4/22
Final Project Workshop, Additional Topics
Possibilities: Sockets, Speech Interface, Live Mobile Streaming, Notifications, Background Services, Image Processing, Image Analysis, Augmented Reality, More with Bluetooth/Arduino, More with mobile GUI development, More with online data (sending and receiving), Intro to PhoneGap, Image Uploading
Class 13 - 4/29
Final Project Workshop, Additional Topics
Sign up for final presentation slot
Class 14 - 5/6
Final Project Presentations