GUIs

and

Event-driven programming

The mother of all demos

State of the Art?

http://www.oblong.com/

GUI

  • Graphical User Interface
  • An interface that is visual/graphical
  • Has evolved to become more readily discovered (this is often called "intuitive")

GUI events

  • Most modern GUIs rely on the concepts of events
    • Mouse movement
    • Mouse click
    • Keyboard type
    • Gesture in the air
    • etc.

Events and programming

  • How to model events in programming?

Event-driven programming

  • The system waits for events
  • An event is triggered
    • by the system
    • or user interaction with physical devices
  • This triggers an action in the program
    • Often through what's called a callback function
  • When the event is processed, go back to waiting

 

This is called the "event loop"

GUI toolkits

  • Native (platform specific)
    • MFC or .Net on Windows
    • Cocoa on OS X
  • Cross-platform
    • Qt
    • WxWidgets
  • Bullet Three

Do you need a toolkit?

  • Are other systems enough?
    • e.g. Processing, etc.
  • Does it make sense to make the interface with something else and then send the data?
    • e.g. an OSC interface with TouchOSC or GoOSC?
  • or do you need a rich, efficient toolkit?

The interface is a lie

Interface vs. functionality

  • You can never be certain how events will propagate in the software

GUIs and Reactive programming

By mantaraya36

GUIs and Reactive programming

  • 1,394