Privacy Tip #1: Subscribing to mailing lists without registering

March 19th, 2006

Many mailing lists are hosted on Yahoo Groups or Google Groups. When you subscribe to such a list, these companies attempt to collect lots of personal information from you and make you agree to some ridiculous and onerous terms. For example, Yahoo hides its terms in a five line text field, but if you scroll down this includes almost 5,000 words of legalese including such gems as

You agree to indemnify and hold Yahoo! and its subsidiaries, affiliates, officers, agents, employees, partners and licensors harmless from any claim or demand, including reasonable attorneys’ fees, made by any third party due to or arising out of Content you submit, post, transmit or otherwise make available through the Service, your use of the Service, your connection to the Service, your violation of the TOS, or your violation of any rights of another.

In plain English, Yahoo wants to bill you for their own attorney fees. Overall, though Yahoo’s terms are better than most. Still they’re not something a legally sane person wants to agree to. Fortunately, you don’t have to.
Read the rest of this entry »

REST Mistake #1: Confirming GETs

March 18th, 2006

I had dinner with Bill Venners in Santa Clara last night. A lot of the action at the recently concluded Software Development 2006 conference focused on REST, so that was very much on our minds. We’ve both spent a lot of time working on server side frameworks for publishing systems, he at Artima, me here at The Cafes and its sister sites. Gradually the conversation wandered into authentication systems.

Among other topics, I described to Bill the cookieless, registration free authentication I had designed for version 1.0 of this site. I’m no longer using that system since switching to WordPress for other reasons, but I’m still quite proud of it; and I’m not sure it’s been duplicated anywhere else. However Bill immediately noticed one fatal (but correctable) flaw in my approach.
Read the rest of this entry »

CSS Tip 1: Put the content first.

March 6th, 2006

CSS has finally caught on among web designers. It’s rare to find anyone advocating table based layout anymore. Sadly many designers, including not a few famous ones, have simply adapted the CSS meme to their old bad habits. They are now producing CSS layouts that are almost as inflexible and inaccessible as the table based layouts they replace, in a few cases even more so.

The first and most fundamental principle of accessible web design is the content comes first. This is both figurative and literal. In the figurative sense, the content matters more than the presentation and the design. However, in the literal sense the content comes first and all the presentational gewgaws, navigation widgets, sidebars, and the like come later.
Read the rest of this entry »

The Nastiest Bug

March 2nd, 2006

There’s one trap I fall into repeatedly while doing software development of any kind: testing, debugging, coding, documenting, anything. And it happens in every language I’ve ever worked in: Java, C++, Perl, CSS, HTML, XML, etc. The only difference is how much time I waste tracking down the bug.

I have this on my mind now because I just lost at least half an hour to this while working on the CSS stylesheet for this very web site. I have had many students show up during my office hours for help with debugging this problem. I have had at least one company pay me lots of money to fix this problem for them (though they didn’t know this was their bug or they wouldn’t have needed to call me in the first place). I can virtually guarantee you’ve made this mistake too. What is the mistake?

Editing the Wrong File
Read the rest of this entry »

Settop Boxes: It’s Not Just Computer UIs that Suck

February 27th, 2006

I recently succeeded in switching back to Cablevision after a few years with DirecTV (and it only took three appointments!). Thus I find myself learning a new interface for something that is supposed to be a TV, and it’s clear that cable folks have no more clue about human interface design than most PC software companies do.
Read the rest of this entry »