Full-Text for Widgets

The other day, I noted the Ajax Patterns widgets have been broken down into content, form, and page architecture. The patterns for those are now complete. Give me yellow! Yellow is the colour for full-text descriptions, and the bottom of the page is starting to look a nice shade of yellow.

There are full summaries for each pattern on the homepage too. So the upshot is there’s a description for each of these:

Content Widgets

  • Drilldown To let the user locate an item within a hierarchy, provide a dynamic drilldown.
  • Microcontent Compose the page of “Microcontent” blocks – small chunks of content that can be edited in-page.
  • Microlink Provide Microlinks that open up new content on the existing page rather than loading a new page.
  • Popup Support quick tasks and lookups with transient Popups, blocks of content that appear “in front of” the standard content.
  • Portlet Introduce “Portlets” – isolated blocks of content with independent conversational state.

Form Widgets

  • Live Command-Line In command-line interfaces, monitor the command being composed and dynamically modifying the interface to support the interaction.
  • Live Form Validate and modify a form throughout the entire interaction, instead of waiting for an explicit submission.
  • Live Search As the user refines their search query, continuously show all valid results.
  • Query-Report Table Report on some data in a table, and support common querying functions.
  • Slider Provide a Slider to let the user choose a value within a range.
  • Suggestion Suggest words or phrases which are likely to complete what the user’s typing.

Page Architecture

  • Drag-And-Drop Provide a drag-and-drop mechanism to let users directly rearrange elements around the page.
  • Sprite Augment the display with “sprites”: small, flexible, blocks of content.
  • Status Area Include a read-only status area to report on current and past activity.
  • Virtual Workspace Provide a browser-side view into a server-side workspace, allowing users to navigate the entire workspace as if it were held locally.

Ajax: From Tipping Point to Koolaid Point

Kathy Sierra explains a variation of the “Tipping Point”:

The Koolaid Point: A Threshold at which enough users become so passionate that others accuse them of “drinking the koolaid”. Often fueled by commercial success.

Kathy makes a great point: passion doesn’t mean happiness – people can be passionately opposed too.

Nice to see how universal this phenomenon is – Ajax isn’t listed, but the backlash has certainly begun. HTML Matters (presumably a joke on “AjaxMatters“) is doing a great job at becoming the poster-child for the counter-revolution. It’s not surprising. When the original Design Patterns book came out, people derided it on the basis that they’d already used those patterns, so there’s nothing new! Ajax is a pattern, and people either don’t see the point (perhaps because they’ve never seen Google Maps in action), feel that Javascript is such a scarce resource and – though it’s almost been around for a decade – we shouldn’t rely on browser support. And some are just resentful that latecomers are jumping aboard when they’ve been doing it all along (the same bizzare attitude of people who yearn for the days of pre-web internet).

Anyway, I’m pleased for Ajax Patterns to link to any of those sites, and it’s for that reason I included the “Ajax Achilles Heel” article when I first created that page. At one point, someone deleted it, with best intentions I presume, but I quickly restored it. It’s good to have sites like this to keep things in check. And, though I didn’t think about it that way before, it’s proof that Ajax has hit Koolaid Point.

Asides on the Koolaid Terminology:

  • Where I’m from, the Koolaid Point would be called the Tall Poppy Syndrome.
  • Some labels for the transition points of the traditional product life cycle:
    • Tipping Point: Introduction->Growth
    • Koolaid Point: Growth->Maturity
    • Jump-The-Shark Point: Maturity->Decline
  • The Creating Passionate Users blog is awesome. If and when a book comes out, its popularity will extend well beyond the software community.