#pragma section-numbers 2 = Creative Apps 201611 (Work in progress) = <> == Planning == . {{attachment:schedule.jpg||width="800"}} * Session 1: Installation Processing with Android Mode, initial programming for Android, sensors. * Session 2: Networking, API use. * Session 3: IoT. * Session 4: Hybrid Apps (Hello World and UI) * Session 5: Hybrid Apps (Working with sensors) * Session 6: Hybrid Apps (Working with web services) == Session 1 == * Presentations * [[attachment:DBB130-Processing-part1.pdf]] * Code * [[attachment:Code-week1.zip]] * Practice * If you have no experience with Processing, you are advised to follow [[attachment:GetStartedWithProcessing.pdf]] to learn the basics (password protected PDF. if you need the password, send p.j.f.peters(at)tue.nl an email); * Try out some examples from the Processing programming environment, to see how these examples would behave on the emulator or on your Android phone. * Create full screen visual art on Android, using Processing. See below some examples. (To get inspired, you may want to have a look at http://openprocessing.org) * Try out some examples using the Ketai library on the emulator or on your Android phone. * Create an Android app, display "Hello Eindhoven" in the center of the screen. == Session 2 == * Presentations * [[attachment:DBB130-Processing-part2.pdf]] * Code * [[attachment:Code-week2.zip]] * Practice * Choose an interesting API and find out how to use that in Procesing for Android. == Session 3 == * Presentations * [[attachment:DBB130-Processing-part3.pdf]] * Code * [[attachment:Code-week3.zip]] * Homework and deliverables * Create an interactive app with some GUI and API and/or database access. * What to be delivered (as one single ZIP file) * source code * screen copy of the output * video on youtube == Session 4 == * Preparation: * Install Intel XDK: https://software.intel.com/en-us/intel-xdk * Go through the “Getting started tutorial” of Intel XDK: https://software.intel.com/en-us/xdk/docs/intel-xdk-guided-tutorial & https://software.intel.com/en-us/videos/develop-apps-in-html5-using-the-intel-xdk * Develop an interactive prototype of an app you would like to develop with: https://marvelapp.com/ * Presentation: * Slides: [[attachment:DBB130-HybridApps-part1.pdf]] or: [[attachment:DBB130-HybridApps-part1.ppsx]] * Introducing the development environment and system architecture * Developing the UI with HTML5 and frameworks * Practice: * Presentation: [[attachment:practice1.pdf]] * Preparation: * For Exercise 1: [[attachment:XDKblankTemplate.zip]] * Go through a Javascript tutorial: https://www.codecademy.com/learn/javascript * Go through a jQuery tutorial: http://www.w3schools.com/jquery/default.asp * Actually develop the UI of the interactive prototype you prepared in HTML5. Try it on the emulator or on your phone. * Solutions: [[attachment:XDKblankTemplate-Exercise2Solution.zip]], [[attachment:XDKapp.js-solution2B.pdf]], [[attachment:XDKappDesignerToDoList-Exercise3Solution.zip]] == Session 5 == * Preparation: * For Local Storage: http://www.w3schools.com/html/html5_webstorage.asp * For Firebase: https://firebase.google.com/docs/web/setup * Presentations: * Slides: [[attachment:practice2-data.pdf]] * Persistent Data: Local Storage and Firebase * Practice: * Persistent Data: Local Storage and Firebase * Solutions: Exercise 2: [[attachment:simpleLocalStorage.zip]], ToDo List app: [[attachment:todo-CompleteWithLocalStorage.zip]], Exercise 3 - Firebase: [[attachment:XDK_firebase.zip]] == Session 6 == * Preparation: * Go through the APIs supported in Cordova: http://cordova.apache.org/docs/en/latest/cordova/plugins/pluginapis.html * Presentations: * Slides: [[attachment:deviceDataAndSensors.pdf]] * Working with device data and sensors in Cordova * Practice: * Add device data and sensor functionality in your app, slides with solutions to exercises: [[attachment:deviceDataAndSensors-withSolutions.pdf]], solution for exercise 3b: [[attachment:contacts.zip]] == Session 7 == * Preparation: * Go through the APIs supported in Cordova: http://cordova.apache.org/docs/en/latest/cordova/plugins/pluginapis.html * Presentations: * Slides: [[attachment:practice-sensors.pdf]], with solutions: [[attachment:practice-sensors-withSolutions.pdf]] * Practice: * Solution Exercise 2a: [[attachment:2a.geoloc.zip]] * Solution Exercise 2b: [[attachment:2b.maps.zip]] * XDK project for Exercise 3: [[attachment:3.XDK_ACCEL.zip]] * Solution Exercise 3: [[attachment:3.XDK_ACCEL-SOLUTION.zip]] == Session 8 == * Preparation: * Go through an introduction to AJAX & APIs: https://www.codecademy.com/en/tracks/youtube * Go through an introduction to jQuery & AJAX: http://www.w3schools.com/jquery/jquery_ajax_intro.asp * Go through the Web Services videos: https://software.intel.com/en-us/videos/ajax-requests-rest-based-web-services-in-the-intel-xdk-part-1 * Presentations: * [[attachment:practice-webServices.pdf]] * Practice: * Add Web Service functionality in your app * Exercise 1: Template: [[attachment:nytimesNews-template.zip]], Solution: [[attachment:nytimesNews-solution.zip]] * Exercise 2: Template: [[attachment:face-template.zip]], Solution: [[attachment:face-solution.zip]] * Exercise 3: Template: [[attachment:radio-template.zip]], Solution: [[attachment:radio-solution.zip]] == Session 9 == * Presentations: * Crowdsourcing [[attachment:Crowdsourcing.pdf]] == Deliverables == * In session 3 and the last session an assignment will be given to be delivered. Expected deliverables are: source code and link to screen cast of output in a .zip file. Note: if the .zip file contains another .zip, a .jar or a .exe file, Gmail does not accept the mail. If you need these files to be in there, create a shared dropbox folder and send the link to that folder in your deliverables email. * .zip file name: CA_Deliverable__.zip (so e.g. CA_Deliverable_1_John_Doe.zip for deliverable 1) * Deadline for deliverable 1 is January 9 * Deadline for deliverable 2 is January 27, Deiverable 2 should also contain your reflection * Each deliverable to be submitted to CreativeAppsDeliverables@gmail.com The processing deliverable should run on a phone or simulator, and use one or more of the explained technologies of the lectures (sensor, communication, API, …). The XDK deliverable should run on a phone, use sensor data and a web service (API). In both cases, of course, the complexity of the app and the use of multiple presented technologies will determine the final grade, especially excellent grades. == Installation == === Processing installation === * See sheets of week 1 === Intel XDK Installation === * Download the Intel XDK from https://software.intel.com/en-us/intel-xdk and install. == Rubrics == . {{attachment:rubrics.jpg}} == Retake == In case you are doing the retake, you have to submit both deliverables named: CA_Retake_Deliverables_.zip. * You '''can''' resubmit the deliverables you already submitted before. * In '''any''' case mention in the mail whether the deliverable is a resubmission or if it is a new one. * All deliverables have to be submitted '''before''' March27, 2017. .