2014/03 Developing Interactive Systems, HCI MA, Tallinn University

In March 2014, I taught the 28 hour Developing Interactive Systems course, part of Human Computer Interaction MA of Tallinn University. The course focused on mobile development with openFrameworks and iOS.

Photos and videos from the course:


My teaching blog:

Getting started with iOS development:

About openFrameworks:

More on oF, C++, Xcode:

Introduction to programming (focuses on Processing):



  • Session 1 – 22/03/2014 – Introduction and developer registration
  • Session 2 – 23/03/2014 – Text
  • Session 3 – 24/03/2014 – Generative graphics; multi-touch; accelerometer
  • Session 4 – 26/03/2014 – Bitmap image
  • Session 5 – 27/03/2014 – Video; sound; project proposal presentations
  • Session 6 – 30/03/2014 – Classes; GUI; project supervision
  • Session 7 – 31/03/2014 – Project presentations


Project proposals and presentation


  • On 27/March, you will present your project proposals.
  • On 30/March, I will see your work in progress, and offer assistance, if necessary.
  • On 31/March, you will present your projects.

Theme of the project:

  • The project can be any mobile application.
  • Many of the exercises under examples > ios folder in openFrameworks are a good representation of the techniques we are learning in the course, and can be used for inspiration.
  • Also check other oF resources, such as the oF Forum. The Forum is very rich on information and resources, and has a dedicates iOS section.
  • In your project, you will probably have to mix parts of these exercises, and the exercises done during the classes.
  • You might choose to use any other platform/technology for your project, but I might not be able to provide support in that case.

How to present the project proposals (27/March):

  • Present your concept using wireframes (see links below), and a project synopsis (a summary, 2-3 paragraphs of text).
  • I would like something closer to high-fidelity than low-fidelity wireframes (check Wikipedia link below for distinction).
  • If your wireframes are low-fidelity, you should convey a visual character for the project, for example using mood boards:
    (there are many more resources on the web and mobile regarding mood boards)
  • Then publish all these elements (synopsis, high-fidelity wireframes, or low-fidelity wireframes + mood board) somewhere on the web.
  • Add a URL to those materials as a comment to this post (see “comment” box below). Ideally, the materials should be easily accessible online (for example, a webpage / blog post / Google Doc / SlideShare), not a downloadable file.

About the final project presentation (31/March):

  • Please be realistic regarding what you plan to present 31/March.
  • In the project synopsis, explain how far the project will be implemented by 31/March.
  • It is OK to present a project prototype on 31/March, but it should be interactive.
  • You can also see it as a beta or “version 0.1” of a project, which is getting closer to a final release (this is more developed than a prototype in my opinion, therefore preferable).
  • If what will be presented in 31/March is only an early stage of something else (a prototype, a beta) you should indicate a clear path to its development in the future (meaning, it has to be something feasible anyway).

Wireframe links:

Preparation for project

  • Redo exercises from previous programming course (Java)
  • Redo exercises done until now, changing them slightly according to your own explorations
  • Run several (or all) examples from the examples > ios folder in openFrameworks, to get an idea of what can be done and what you can reuse
  • Get the suggested book (Noble, Joshua (2012) Programming Interactivity (2nd Edition), O’Reilly Media) and follow the relevant chapters
  • In general, check all the links suggested in the “Introduction” section of this post
  • In particular, check the tutorials sections of openFrameworks http://www.openframeworks.cc/tutorials/
  • and also the openFrameworks “wiki” http://wiki.openframeworks.cc/
  • Search with terms “openframeworks ios tutorials” and “openframeworks tutorials”, you will find many materials


  1. Miikka Mäkitalo

    My proposal for the app: