Literature
General
- Brad Myers, Scott E. Hudson, and Randy Pausch, Past, Present and Future of User Interface Software Tools
- Mozilla collection of Web Development Tutorials
History
- History of the Graphical User Interfaces, Wikipedia
Prototyping
- Beadoin-Lafon and Mackay, Prototyping tools and techniques
- Westerlund, Design Space Exploration
- Lindquist, Perspectives on Cooperative Design
Java, JavaScript and jQuery
- Java: Oracle Java Tutorials
- JavaScript: CodeAcademy, W3Schools Tutorial and Debugging
- jQuery: CodeAcademy, W3Schools Tutorial and API Documentation
- Bootstrap: Getting started
Layout
- HTML: W3Schools HTML tutorial, Mozilla: Getting started with CSS and Learn Layout
- Java FX: Working with Java FX UI Components, Working with layout in Java FX, Why use FXML and Skinning Java FX Applications with CSS
- Java Swing: Using Swing Components and Laying Out Components Within a Container
- Android: Layouts, Input Controls and Styles and Themes
Interaction
- HTML: Drag and Drop in HTML 5, W3Schools HTML events, W3Schools JS Events and W3Schools jQuery Events
- Java Swing: Drag and Drop and Data Transfer and Writing Event Listeners
- Android: Input Events, Dialogs, Notifications, Drag and Drop
Model-View-Controller
- Robert Eckstein, Java SE Application Design With MVC
- Alex Netkachov, MVC with JavaScript (a bit more detailed and advanced MVC)
- Russell East, Overview of the ModelView – ViewModel (MVVM) pattern and data-binding
Model Data
- Local
- Web: Cookies, HTML5 Local Storage
- Android: Saving data
- Java: Saving User Preferences
- Remote
Navigation
- Web: Single-Page Applications, Manipulating the browser history
- JavaFX: Managing Multiple Screens
- Android: Navigation with Back and Up, Designing Effective Navigation, Implementing Effective Application
Other good references
- Bowman, Doug A., et al. 3D user interfaces: new directions and perspectives IEEE computer graphics and applications 28.6 (2008): 20-36.
- Olsen, Developing User Interfaces, Morgan Kaufmann, 1998.
- Johnson, GUI Bloopers: Don'ts and Do's for Software Developers and Web Designers , Morgan Kaufman, 2000.
- MIT Course, User Interface Design and Implementation