Graphical User Interface Programming, by Brad Meyers, CMU (circa 2003 but still an interesting overview--not sure much has changed in two decades on this subject)

Project LightSpeed: "... using the native OS wherever possible, reusing the UI with dynamic templates powered by SQLite, using SQLite as a universal system, and building a server broker to operate as a universal gateway between Messenger and its server features." In many respects, sounds like part of what they did was adopt a partial Naked Objects-like approach to their UI, storing the UI description in data and building that UI at runtime.

"Build a Dev Portfolio as a 2D Game" - Video and Source. Cute idea.

"The Balance has Shifted Away from SPAs"

"A Whole Website in a Single JavaScript File"

Repositories for graphics:

Articles

User Interface

Guidebook Gallery: Graphical user interface gallery (up until 2006, right before the mobile/smartphone revolution!)

ECMA Report on User Interface Taxonomy (June 1992): Interesting high-level overview of different ideas around user interface and a taxonomy of that space:


Miscellaneous reading

"How to Draw S-Curved Arrows"

"Have SPAs ruined the Web?"

Event-Driven GTK by Example — 2021 Edition - Michael Murphy

Practical Typography:

  1. The four most important typographic considerations for body text are point size, line spacing, line length, and font (see font recommendations), because those choices determine how the body text looks.
  2. point size should be 10–12 points in printed documents, 15-25 pixels on the web.
  3. line spacing should be 120–145% of the point size.
  4. The average line length should be 45–90 characters (including spaces).
  5. The easiest and most visible improvement you can make to your typography is to use a professional font, like those found in font recommendations.
  6. Avoid goofy fonts, monospaced fonts, most free fonts, and system fonts—especially times new roman and arial.
  7. Use curly quotation marks, not straight ones (see straight and curly quotes).
  8. Use bold or italic as little as possible, and not together.
  9. Never underline, except perhaps for web links.
  10. all caps are fine for less than one line of text.
  11. Use centered text sparingly.
  12. Put only one space between sentences.
  13. Don’t use multiple word spaces or other white-space characters in a row.
  14. If you don’t have real small caps, don’t use them at all.
  15. Use 5–12% extra letterspacing with all caps and small caps.
  16. kerning should always be turned on.
  17. Use first-line indents that are one to four times the point size of the text, or use 4–10 points of space between paragraphs. Don’t use both.
  18. Always use hyphenation with justified text.
  19. Don’t confuse hyphens and dashes, and don’t use multiple hyphens as a dash.
  20. Use ampersands sparingly, unless included in a proper name.
  21. Use proper trademark and copyright symbols—not alphabetic approximations.
  22. In a document longer than three pages, one exclamation point is plenty (see question marks and exclamation points).
  23. Put a nonbreaking space after paragraph and section marks.
  24. Make ellipses using the proper character, not periods and spaces.
  25. apostrophes point downward.
  26. Make sure foot and inch marks are straight, not curly.

Programming with gtkmm 4

Search User Interfaces - Marti A. Hearst

The GLib/GTK+ Development Platform - Sébastien Wilmet (PDF)

Web Design Primer - Richard Adams, Ahmed Sagarwala

Web Style Guide Online - Patrick J. Lynch and Sarah Horton

Visual design rules you can safely follow every time


Implementation notes

Web UI


Detail Pages:

Last modified 05 May 2025