Always On, Always Connected

Shawn Van Every Shawn.Van.Every@nyu.edu
Spring 2017
ITPG-GT.2958.1
Tuesdays 12:10 PM to 2:40 PM

Important Resources:

Syllabus (this page): http://itp.nyu.edu/~sve204/alwaysonalwaysconnected_spring17/
Office Hours: Sign Up
Google Group/Listserv: https://groups.google.com/a/nyu.edu/d/forum/itp-always-on-always-connected-spring-2017-group
Wiki: https://itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?Always_On,_Always_Connected_Spring_2017_Wiki

Description

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 cross-platform Apache Cordova and along various accessory SDKs and other emerging platforms.

ICM level programming experience is required.

Administrative:

Grading:

25% Assignments
25% Class Participation/Attendance
20% Final Project
15% Midterm
15% Presentation

Class

The first half of the course is focused on App development with Cordova. As much as possible, we'll cover developing with Cordova in class but you are expected to augment this with online materials from Lynda.com (Free access for NYU) and other sites which will be assigned on a weekly basis. This will allow us to use more class time for covering additional topics, discussion, group work, help sessions and so on.

The second half of class we'll be working with new/emerging 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

Listserv:

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.

Presentations:

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.

Final Projects

Class will culminate with final projects. Groups of 2 to 3 students are encouraged. A project that is applicable to other classes that you are taking is also welcome.

Class Participation

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.

Attendance:

Mandatory. Absences will affect your final grade. If you are going to be absent, please let me know ahead of time if you can.

Tardiness:

Excessive lateness will affect your grade. Don't be late.

Phones/Tablets/Laptops:

Phone/Tablet/Laptop use is prohibited while other students are presenting or during discussion unless it is integral to the presentation or topic. 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/Facebook/etc.

Clay Shirky's thoughts on the topic of laptops in class are worth a read.

Reading and other materials:

There will be assigned periodic videos, tutorials, and readings. These are required and are very valuable for the class.

Weekly Rundown:

Part 1 - Mobile Apps, a New Medium

Class 1

Introductions: Discussion, Syllabus and Examples, Mobile Devices, Getting Setup for Development
Notes
Screen Recording from Week 1
Homework:
  • Try going without your phone for a day or at least a few hours. Keep track of how you felt, what you missed, and so on. 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.
  • Get running with Cordova and your environment (iOS or Android SDK) and build a simple inspirational app
  • Get a copy of The Circle by Dave Eggers

  • Class 2

    Mobile App Development with Cordova
    Planning, Wireframing, Mobile UI Development Basics
    HTML, CSS, JavaScript refresher
    Notes
    Homework:
  • Read first 54 pages of The Circle (location 763 on Kindle), section ending with "the highest score of any CE newb ever of all time suck it."
  • 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 on the UI development (HTML/CSS/JavaScript).

  • Class 3

    Mobile Development Continued
    Single Page Application Development and Frameworks
    Built-in Cordova Plugins
    Notes
    Vanilla JavaScript Single Page Application Example
    Homework:
  • Read the next portion of The Circle (up to page 90 or Kindle location 1259: "Mae ran.")
  • Using your existing app design (or starting something new), build out your wireframes in HTML/JavaScript.
  • Start building out functionality of your app using JavaScript with Cordova.

  • Class 4

    Location and Mapping
    Cameraphones, Media Sharing, News, and Activism
    Media Capture, Playback, and Sharing
    Notes
  • Read the next portion of The Circle (up to page 135 or Kindle location 1873: "By midnight she felt reborn.")
  • Develop a small quick application that features location. This could simply display a map of the area or more detailed information.

  • Class 5

    Network Services, Data Storage/Persistence
    Notes
    MongoDB and MongoLab
    Homework:
  • Read the next portion of The Circle
  • Extend some of the examples from class, create a names database or the ability to save photos.
  • Think about midterm ideas, what portion of your overall project can you build for midterm? Document your plan on your blog.

  • Class 6

    Sensors - Compass, Touch, Accelerometer
    Notes
    Midterm Discussion
    Homework:
  • 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_2017_Midterm_Presentation_Schedule

  • Class 7

    Midterm Presentations
  • Make sure your midterm project is documented and that documentation is linked off of this page: https://itp.nyu.edu/~sve204/cgi-bin/pwiki/wiki.pl?AOAC_Spring_2017_Midterm_Presentation_Schedule
  • Finish reading The Cirlce

  • Part 2 - Connected Accessories - New Extensions of Self

    Class 8

    Bluetooth Low Energy
    BLE APIs
    Notes
    Homework:
  • Create a simple app that interacts with the TI sensor tag.

  • Class 9

    Bluetooth Low Energy Continued
    Building our own Accessories and Sensors
    Notes
    ButtonLE Cordova Code from Class
    Homework:
  • Make something happen on your phone when the ButtonLE is pressed (building off the example started in class)

  • Class 10

    Network Sockets
    Notes
    Homework:
  • 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

    AR/VR/Mixed Reality
    Homework:
  • Get started on your final project

  • Class 12

    Final Project Proposals
    Homework:
  • Final Project Development

  • Class 13

    Final Project Workshop, Additional Topics
  • Possibilities: App Store Publishing, Speech Interfaces, Live Mobile Streaming, Notifications, Background Services, Image Processing, Image Analysis
  • Sign up for final presentation slot

    Class 14

    Final Project Presentations
    Expect Guests