Encoding Ampersands
October 9th, 2009
Here’s the W3C recommendation on encoding ampersands:
Authors should use
"&"(ASCII decimal 38) instead of “&” to avoid confusion with the beginning of a character reference (entity reference open delimiter). Authors should also use"&"in attribute values since character references are allowed within CDATA attribute values.
Not Crumby
August 12th, 2009
From Alertbox’s article Breadcrumb Navigation Increasingly Useful:
In testing an e-commerce site last month, for example, one user complained: “This is missing a feature to go back to the previous page.”
I found this apparent request for a Back button puzzling, since the button was featured prominently in the browser and the person had easily used it earlier in the test session. Also, for six years, it’s been an established guideline to avoid duplicating browser functionality in the page design.
It quickly became clear, however, that the user wasn’t asking for a duplicate Back button. Elaborating on the previous complaint, she pointed to the place on the page where breadcrumbs typically appear and said she wanted the list of links to higher-level pages.
In other words, the user wanted breadcrumbs. She’d seen them before, but didn’t know what they were called, so she asked for them using words that — if taken literally — would have been easily misinterpreted.
The title of this article is so obvious it sounds like something from The Onion. But, this is from 2007 and it’s likely this user expectation is even more entrenched, and it’s an expectation that a site be useful: that the site have the helpful elements they need to move around. Even if that element reproduces browser functionality, as Nielson notes.
I’ve been building (using JavaScript and for too long), breadcrumb navigation that can work across our Network Tools, so I was happy to come across this as a reminder the work is worth it.
What’s the “28th last day of the month”?
August 12th, 2009
Good article with good examples of good ways to manage complex interfaces: Managing UI Complexity by Brandon Walkin.
My favorite example might be Microsoft Expression Blend vs Adobe Lightroom.
Some compelling examples are the inspectors in Microsoft Expression Blend and Adobe Lightroom. While a host of factors are responsible for the Expression Blend inspector looking considerably more complex than the Lightroom inspector, the rough horizontal alignment is certainly a primary one. The horizontal alignment lines have been drawn in red to illustrate the differences.
Looking at the red lines, my first thought: “jebus.”
Zeldman on Writing
August 10th, 2009
Zeldman has a new article up on writing: Write When Inspired. The mantra: “Write when inspired; rest when tired.” Memorable enough. And popular enough if you read the article’s comments. A few dissenters raise their heads. Not enough do, likely because if you did: fail. A person could ruin their career with one poorly placed comment on Zeldman’s blog. Here’s the comment I left, and it was stolen from Jack London:
“Don’t loaf and invite inspiration; light out after it with a club, and if you don’t get it you will nonetheless get something that looks remarkably like it.” -Jack London
If you wait to write when inspired, well, you’ll spend time waiting. Why not write while waiting? Makes the waiting less boring.
In short: I read, I disagreed, I was inspired to disagree and that inspiration almost led to a longer mistake than the one quote. He didn’t mean what he was saying, or what I thought he was saying in the mnemonic about inspiration:
“Sorry, perhaps I should have stated explicitly at the top that orderly work habits are a given. I don’t mean sit around for weeks waiting for lightning to strike.”
I’ll admit that’s how I read his article: the simple mnemonic shaped how I read the rest. My brain threw in an “only.” Write “only” when inspired. In his defense, that was my “only” and the phrase oversimplifies what he understands to be more complex. His comments evince that. Part of my misunderstanding could have been that I’m not a thoughtful reader. He writes for a certain kind of reader, the one with orderly work habits and one who is thoughtful and drinks up words: “I write for a thoughtful reader, who reads at moderate speed, drinking in the words and getting what is said and what doesn’t need to be said.” I read that and I said to myself: Whu-whu-what? Senator, you’re no John Keats. Your rifts are missing some ore. But whoa, Jody, whoa …
Let’s roll back the clock, roll back the clock on my misunderstanding and let’s extrapolate unhelpfully. I think, or I hypothesize, or I guess that something similar happened to Zeldman: he was inspired to write about the mnemonic, like I was inspired to write about my misunderstanding, and then he didn’t get the words out right, like I’m likely doing now. He meant a certain type of writer and he was writing for a certain type for reader, things the post itself don’t make explicit. A re-read and revision might have told him: if we write for readers (”You are writing for readers, a duty as sacred, in its way, as parenting”), he’d know all readers don’t or can’t have orderly work habits (what does “orderly” mean in this context? I have method to my madness), and he’d know all readers don’t drink in words (a metaphor used in religious writings–from Tibetan texts to Jonathan Edwards descriptions of congregations). I drink in Wallace Stevens, Kurt Vonnegut, Richard Ellman. But, I’m not sure I really drink them. I read them.
I can say this: Zeldman’s article inspired me to write and I’m not in the writing mood. I’m not going to do my best work in this post because, well, Zeldman is right: “we do our best work when healthy, rested, refreshed, alert, and eager to do the job for its own sake.” Yet how often are we healthy, rested, refreshed, alert and eager–all at once? That’s a rhetorical question which probably says more about me than it should. I’m charging ahead anyway, health and rest and refreshment be damned.
Whatever the case, thanks to Zeldman I was inspired and I wrote.
Tangent 1: In a fit of bigheadedness, I noticed validation errors on his site a while ago and twittered about it. I hope he didn’t think it was “catching him in a mistake.” I can only hope enough people care about my code to validate it for me.
Tanget 2: Damn it. I forgot the inverted pyramid (see the Web Style Guide and Nielson’s site). Given that pyramid I wouldn’t have placed a mnemonic like that at the beginning. But what do I know? I’ve only been writing since … longer than I’ll admit and I have fewer Amazon entries than Zeldman. I wouldn’t have used a mnemonic either. But mnemonics are useful. Sometimes.
Caching Tutorial
July 16th, 2009
Nice tutorial by Mark Nottingham (mnot.net) on web caches: http://www.mnot.net/cache_docs/.
Response Times
March 24th, 2009
I don’t always agree with him, but these are helpful guidelines for web page response times: Response Times: The Three Important Limits.
At work we’ve been building on a web application (a phrase Nielson doesn’t like) for over a year and we’ve been trying to reduce the loadtime of a particular page—it’s a page showing, for lack of a better description, a lot of information. Previously it took close to 8 seconds to load the page. Now we’re down to about 2-3 seconds depending on the browser.
One day it’ll be 0.0001 seconds. Mwa-ha-ha.
Papercube
January 12th, 2009
Peter Bergstrom, a user interface engineer at Apple and a Master’s student in Computer Engineering at Santa Clara University, has been working on Papercube. He describes it as a way “to more effectively search digital libraries with a focus on academic paper network navigation.”
A longer description: “It is a rich internet application using SproutCore, SVG, and the canvas tag. For even more interactivity, I use Webkit CSS transitions for animation. No Flash, Flex, or Silverlight.” It works in WebKit-based browsers and Firefox.
In Network Systems, we’ve been looking around for a way to visualize UW’s network and the other networks we monitor. These networks are big. As in really big: Carl-Sagan’s voice “thousands and thousands” of nodes big.
I had a hard time navigating Papercube’s interface to find the view I wanted. I got what I wanted following these steps:
- Mouse to the left and a search pane slides out.
- I entered “network” as a search term in “Paper Titles.” I chose a search result with 8 references and 37 citations.
- Using the default setting, you get “Paper Detail”–some windows/panes that give you, as expected details about the paper.
- In the upper banner you can choose a different “View.” For wanted, the view was “Paper Graph.” I’m not sure this is the best term. But I can’t think of a better one.
The popup hovers hide the graphed information and the right-click popup controls are unintuitive (even though “intuitive” is a vague notion). But I like where this is headed. A non-proprietary way to visualize rich data. Other methods exist, Walrus being one, but this is one among the many that’s worth watching.
An Initial Concern
November 6th, 2008
I’m quoted, for better or worse, in this Seattle Post-Intelligencer article. The article mentions my concern about “how the school chose IT vendors.” How choices are made doesn’t seem transparent at the moment. When it does become transparent, I’ll post about it here.
XHTML and HTML and HTML and XHTML and …
October 8th, 2008
This is depressing, but maybe in a good way. It’s a useful discussion of the long-standing question (a question that will keep standing, it seems) of whether or not we should be writing HTML or XHTML.
As the author states: “Most browsers handle XHTML as yet another form of HTML tagsoup.” Too true. Most browsers treat it as HTML and if you don’t serve it as application/xhtml+xml it’s definitely not being treated as XHTML.
A personal anecdote. When serving some work I’ve done as application/xhtml+xml I ran into problems. For example, when a dynamic document was loading—while jQuery was building the document’s content—the XML processor would throw an error before all the content was loaded. The document looked to the browser’s XML processor like it was invalid XML, but it just wasn’t finished building itself. Maybe there’s a way around that, but I didn’t have time to find it. I didn’t have time to research the problem so just switched back to serving the document as text/html.
Grrr.
When I started more serious web development around 1997, XHTML was the hot new thing. I adopted it and other developers around me were adopting it. Employers were asking asking about the difference between XHTML and HTML and XHTML transitional, and on and on. XHTML seemed here to stay. But it seems less clear the more I read that it’s necessity is absolute. So, to deepen my uncertainty and perhaps yours, some articles that take up the debate:
- WaSP: HTML Versus XHTML
- 456 Berea Street: The perils of using XHTML properly
- 456 Berea Street: No more Transitional DOCTYPEs, please
- W3C: HTML and XHTML Frequently Answered Questions
- Ian Hickson: Sending XHTML as text/html Considered Harmful
- WebKit Blog: Understanding HTML, XML and XHTML
Simulate a Pinch
August 27th, 2008
I read today how to simulate a Multi-Touch pinch in the iPhone Simulator. Hold the “option” key while clicking on the screen. I was scratching my head about this one for a while. The Simulator’s help gives you the message: “Help isn’t available for the iPhone Simulator.” Nice. I finally found this (buried) in the documentation.