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,407