Hide menu

TDDC73 Interaction programmering

Projekt


Project - Mini SDK of interaction patterns

The project is based on independently exploring different Interaction patterns on a slightly deeper level and then create your own SDK of two of the patterns. The project instructions consist of several different suggestions on what one can choose to delve into, it is up to you to choose Information according to the grading criteria described below.

Project Instructions

You should implement your own SDK consisting of

Grading criteria

Here criteria are described for the different rating steps.Remeber that it is not only are quantitative differences between the levels but also qualitative.

There is also an example project to be downloaded (based on swing) here and readme file here. The project is intended to correspond to the qualitative requirements for grade 5, so for lower is not exactly the same requirements for code quality.(Try writing "Hello" and "Hejsan".)

Grade 3

You shall properly implement two using a framework of you chooice. With a simple test program/application you demonstrate how to use your component (interaction pattern), note that it should be a clear difference between your general component and the test program. You choose which interaction patterns you want to implement and include in your SDK from ui-patterns . The patterns you choose to implement should be non-trivial designs and where you build most of the component yourself, you may not use components that are available as a finished component of your framework, but you may of course use smaller widgets such as button and so on. . Are you not sure if a pattern is too trivial check with course coordinator (Anders). For each interaction pattern, you must provide enough data to show how the pattern is supposed to work. You should build your solution (your two interaction patterns) as your own SDK, think on the following:

  • What are the common parts that your components share?
  • Is it needed with some support-components for components for it to work?
  • How can the two components be used together?
Your code should be effective enough so it can be used.The code should follow common conventions and be acceptable commented.

Selection of interaction patterns Most patterns can be chosen, the important thing is that you stand for implementation themselves.That is, you can choose to module Tabs , but then you may not use Android's Tabhost to solve the task.Think about when you build the component what can another Programmers want to adapt to their needs, check as examples of how Andorid builds up their more complex components (List/Expandablelistview), (Default Models/Adpate, Renders to describe appearance, customize Algorithms etc). Nedan kommer finns några exempel på mönster som har varit ganska vanliga historiskt sett i kursen. (samt vissa punkter vad ni kan tänka på)

  • Password Strength Meter
    • Hur byter man ut algoritmen för att avgöra hur starkt ett lösenord är
    • Hur kan jag välja att visualisera styrkan av ett lösenord
  • Carousel
    • Hur många element ska visas samtidigt
    • Hur ska varje element visas, går det att byta ut
  • Inplace Editor
    • Vilka element är editerbara, hur visas det
    • Kan du byta ut hur element editeras
  • Shopping cart
    • Hur ser kundvagnen ut
    • Finns det olika vyer av kundvagnen(liten, kompakt, full), hur ser dom ut
  • Input feedback (se Password Strength Meter)
  • Account Registration
    • Vilken data ska finns om ett konto (och vilka data-typer)
    • Vilka fält ska vara obligatoriska
  • Steps Left
    • Hur kan jag namnge steg
    • Hur kopplar jag information till varje steg (vad ska synas vid steg 2)

Betyg 4:

För betyg 4 gäller att du gör allt som gäller för betyg 3 samt att du gör en av följande uppgifter:

  • Getting started guide för valfritt ramverk
  • UI Testing för en av dina Komponenter (se nedan)

Betyg 5:

För betyg 5 gäller att du gör allt som gäller för betyg 3 samt att du gör både :

  • Getting started guide för valfritt ramverk
  • UI Testing för en av dina Komponenter (se nedan)

Getting started guide

Du ska skriva en Komma igång guide för ett av ramverken Kotlin för android, Flutter, eller React Native. Din guide ska vända sig till personer som redan kan programmera men som ej arbetet med ditt val av ramverk. Din guide ska täcka:

  • Enkel Layout av komponenter/widgets
  • Grundläggande interaktion med lyssnare/callbacks-functions
  • Navigering mellan olika skärmar

UI Testing

Du utför UI testning av en av dina komponenter du har implementerat. Du ska använda dig av rekommenderade testnings verktyg för ditt ramverk (UI-Testing). Dina tester behöver inte vara heltäckande men du ska visa förståelse hur man bedriver tester för grännsitt

Projektredovisning

Redovisa varje komponent/mönster du har implementerat i tillsammans med ett litet test-program där du redovisar hur man använder din komponent/mönster, samt lämna in ev. skriftlig redogörelse, till din assistent. Examination: När du är godkänd av din assistent på de moment du gjort i projektet så kommer det ske en muntlig examination. Tidpunkter för den muntliga examinationen kommer att planeras att ligga i slutet av kursen. Är du klar tidigt finns det möjlighet att i mån av tid examineras tidigare i kursen. Syftet med den muntliga examinationen är att säkerställa att du verkligen producerat arbetet och tagit till dig den kunskap som vi förväntar oss.

Page responsible: Anders Fröberg
Last updated: 2023-11-10