The Flow: A Tale of Two Devices

Wednesday, March 29th, 2006

Cool user interfaces have The Flow. They let you do what you need to do without consideration or thought. Poor user interfaces break The Flow. What do I mean? Let me explain by example.

This is my digital camera. More specifically it is the battery compartment of my digital camera:

Panasonic Lumix battery compartment

The battery fits into this camera in exactly one way. Turn it upside down or around, and it doesn’t fit. I invariably try to shove the battery in backwards. Even when I stop and think about the problem and realize that my natural instinct of which way the battery goes is wrong, and deliberately reverse it, I still put it in the wrong way! I have no idea how Panasonic managed this, but they did. This device does not have The Flow.

RSS is Push

Wednesday, March 29th, 2006

One comment has come up every time I’ve given my RSS, ATOM, OPML, and All That talk. As soon as I describe RSS/Atom as “push”, I know a hand’s going to shoot up and some techie is going to say, “But isn’t the feed reader polling the server every 30 minutes to pull down the content?”, and my response is always, “Yes, it is; but that’s irrelevant.” (more…)

PHP Tip #1: Finding your php.ini file

Monday, March 27th, 2006

If you’ve installed PHP in /usr/local as many people do, then your php.ini file is in /usr/local/php/lib. If you’ve installed PHP somewhere else, then you’ll find it in the corresponding lib directory. For instance, I like to put PHP in /opt/php5, so my php.ini file is in /opt/php5/lib.

Privacy Tip #1: Subscribing to mailing lists without registering

Sunday, 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.

REST Mistake #1: Confirming GETs

Saturday, 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.