Masterpraktikum (Master Lab Course): User-centered Design of Applications on Public Displays

Daniel Herzog, M.Sc. (herzogd [AT]

Public displays are large displays in public spaces that allow a community to interact with the screen and / or other users. Public displays are getting more and more popular as they can provide useful information such as maps, information about public transport or interesting spots nearby to a person passing by or a crowd. Recent work tries to improve the services proved by public screens by enhancing the means of interaction and enabling personalized content on the displays. This enbles innovative use cases, such as personalized recommendations for tourists or interactive games at bus stops. Nevertheless, these innovations make some people hesitate interacting with such screens because of social embarrassment or privacy issues.

The goal of this lab course is the development of new and innovative applications on public displays that offer added value to locals, tourists or other people in a city. In groups of two or three people, the students will learn and apply all steps of the user-centered design framework. The focus of this lab course is the development of a functional prototype on a kiosk system provided by the chair. The results will be presented to the public as presentations and during a small poster and demo session at the faculty's ITüpferl.


[21.01.2019] An information/pre-course meeting for everyone who is interested in participating in the lab course will take place on January 30 at 16:00 in room 01.07.023.

[21.01.2019] Web page online


  • This course is a master lab course (Masterpraktikum) (module ID: IN2106).
  • The lab course will be conducted in English language.
  • Groups of two or three students will come up with an own idea for an innovative application for a public display and apply the user-centered design framework to develop the application. Example applications are improved tourist information systems, personalized recommendations for locations or services nearby, applications for innovative mobility concepts, recommender system for groups exploring a city, interactive games on public displays, etc. All mandatory meetings, milestones and assignments can be found below (see "Schedule & Deliverables").
  • Groups are randomly created before the first meeting.
  • The public display we are using is a kiosk system equipped with a 55-inch multi-touch screen in portrait orientation (1080x1920). It is running Windows 10. Applications the teams develop should run on every web browser.
  • The kiosk is in the ITüpferl (MI Magistrale). The ITüpferl can be used by groups as working space and to test their applications on the kiosk. We will provide a calendar to allow groups to book the room. Please book your slots early. Talk to the other groups to ensure a fair use of the working space!
  • There will be an (optional) information/pre-course meeting for everyone who is interested in participating in the lab course on January 30 at 16:00 in room 01.07.023 (this meeting is completely optional and you won’t hurt your chances of getting a place if you do not come).
  • If you have questions regarding this lab course which are not answered on this page, please write me an e-mail: herzogd[AT]

Registration & Requirements

  • Registration is done using the department's matching system: (you have to use the matching system to participate in the lab course! Please check the matching system's schedule:
  • You can optionally send a short motivation statement why you want to participate in this lab course via e-mail to herzogd[AT] (max. 150 words) (sending a motivation statement is optional, but may increase your chances of getting a place).
  • Requirements are good programming skills, experience with the development of web applications (frontend & backend) and interest in user-centered design.

Schedule & Deliverables

Wednesday, April 24 (16:00 - 18:00, room 01.07.023): Kick-Off + Specify context of use + gather requirements


  • Introduction to the lab course and the topic
  • Organizational issues
  • Introduction to requirement elicitation

Assignment (until the next session):

  • Identify a problem / an idea for the application (coordinate idea with supervisor)
  • Specify context of use and gather requirements using tools like personas, contextual inquiry, interviews, questionnaires, observations, focus groups.
  • Prepare a presentation of the results

Wednesday, May 8 (16:00 - 18:00, room 01.07.023): Low-fidelity prototyping

Student presentations:

  • Present ideas and requirements (5-7 min / group) + discussion (5 min)


  • Introduction to low-fidelity prototyping

Assignment (until the next session):

  • Create a low-fidelity prototype using a clickable wireframe, paper prototype, or prototyping software (Sketches and Mockups can help you to optimize your idea before creating the actual prototype). The prototype should cover the main functionality of your idea.
  • Conduct a short user experiment with 3 – 5 participants to evaluate your prototype.
  • Note the feedback and suggestions for improvement you received from your participants.
  • Prepare a presentation (5-7 min / group) briefly describing your prototype (using a short video), evaluation approach and the most important findings!

Wednesday, May 15 (16:00 - 17:00, room 01.07.023): Code Quality Session (optional)

Wednesday, May 22 (16:00 - 18:00, room 01.07.023): High-fidelity prototyping / application development + user study

Student presentations:

  • Present results of the low-fidelity prototyping (5-7 min / group) + discussion (5 min)


  • Introduction to the kiosk system, an example application (TourRec), and potential technologies and tools
  • Introduction to user studies

Assignment (until the next session):

  • Develop the application (frontend + backend). Programming language, technologies and tools can be selected by the group. Groups have to use a repository for version control, e.g., the LRZ Gitlab.
  • May 23 - July 2: Weekly stand-up meetings with the supervisor
  • Conduct the final user study. Think about the goals of your study, what data you want to collect (metrics), the tasks your participants have to solve, and how you collect this data (think-aloud, video observation, questionnaires, etc.)
  • Design an A0 poster for the poster and demo session (deadline: 30.06, 23:59)
  • Prepare a presentation of the results for July 3 (16:00 - 19:00, room 01.07.023)

Weeks 6 – 10: Weekly stand-up meetings with the supervisor

  • Short oral presentation of each group member (what has been done in the last week and what is planned for the upcoming week)
  • Short demo of the current status of the prototype

Wednesday, July 3 (16:00 - 19:00, room 01.07.023): Student presentations

  • Final presentation with focus on own development and user study results (15 min) + discussion and oral examination (15 min)

Wednesday, July 10 (16:00 - 18:00, ITüpferl): Public poster and demo session

  • Present your results in a small, public exhibition in the ITüpferl (MI Magistrale)

Wednesday, July 17 (23:59): Deadline final report

  • Summary of all results, containing the idea, related work, requirements, prototypes, system design, evaluations results, etc. (max. 12 pages)


The following deliverables are part of the final grade. All milestones are mandatory. Presence at all meetings and an active participation are required for passing the course.

  • Idea, requirements & low-fidelity prototyping (20%)
  • Application development + user study (40%)
  • Final presentation + demo session (30%)
  • Final report (10%)