Poor workflow in USAirways self check-in kiosks

I ran into an ugly edge case attempting to use a self check-in kiosk to fly from Boston to Nassau on my UK passport last weekend. It turns out that its not possible – while one can use a self check-in kiosk to fly to the Bahamas on a US passport, or on a UK passport to the UK, it is not possible to use the kiosk to fly to another country using a different country’s passport.

Only the kiosk didn’t tell us that for a while…

After Kristi checked in successfully, we scanned my passport and informed the kiosk I am a UK citizen. At this point, the machine should have told me to see a ticket agent. Only instead, it chose to waste my time and that of the people waiting in line by prompting us to enter my name, passport number etc from a slow on-screen keyboard. Only at the end, after being prompted to enter my emergency contact information did the kiosk tell me to see the ticket agent, who informed me that what I am attempting was actually impossible. Thanks a bunch whoever programmed the kiosk. Great job on designing that interaction.

The kiosk did amuse me by telling me “The FAA requires that you provide emergency contact information” and then asking me do I want to provide contact information. What kind of requirement is that?

Instant and not so instant messaging at work

I’m intrigued by different levels of instant messaging uptake in corporate culture. I acknowledge up front that constant mixed-initiative interruptions to ones workflow can be harmful, but note that many people in low or no-IM work cultures have their pop up mail notifiers enabled to the same effect. In fact despite its fundamentally asynchronous purpose, due to most people’s evolved expectations about instaneous responses to electronic communications, email ends up being overloaded as a poor-man’s IM system, which should never happen. Most emails aren’t important, and anything really urgent should be a phone call, walk-by or IM, because one shouldn’t reasonably expect someone to read your email in the next 5 minutes.

At IBM, where IM is practically the pulse of the company and “pinged” has become a verb meaning to contact via Sametime (due to its annoying ping noise), I used to productively work with people across the country, and even the globe via IM that I never met and only rarely talked to. I would never have thought that there really are companies out there that get by without centralized IM, in which you can reasonably expect to get a hold of anyone in the corporate directory via IM.

Turns out there are – at my current job, which still has its small company culture less than 6 months after being aquired by Oracle, there is no real use of IM ( despite Oracle having a centralized IM system, which I’ve heard is quite busy in “mainline” Oracle, many people on my team don’t bother to sign in there ). – sure there are isolated pockets of instant messaging via Yahoo or AOL, but if you or the person one needs to reach are not there, then its back to email. New hires also incur a cost of gathering up everyones screennames. Or walking to their office, and while I’m all for face to face interaction, an IM can be nice so you at least know person X is going to be in their office when you get there (or just buddy-list awareness if its properly done…)

The differing philosphies behind who one can see as a member of an IM network at IBM vs Oracle are interesting to note. Basically the differences are opt-in vs opt-out. On IBM Sametime, one can see the status of and contact any user who hasn’t specifically chosen to block/hide from you. On Oracle RTC, based on Jabber (which allows any jabber client to connect), one is required to send each person who is not in one’s immediate department a message to request that person allow you to see his or her online status and message him or her. So to accrue one’s O(n2) network effect, you have to exchange n2 messages. That just seems silly in a corporation where everyone should be working towards some version of the same goal, playing by the same rules (and to enforce proper behavior, ultimately accountable to the same HR dept). At least both of these approches enforce reciprocity- if I don’t want you to seem me, I can’t see you. I’m not a fan of the (somewhat) recent “innovation” in AIM of being invisible.

Like most things, I really miss having a “real” IM system available at work. Let’s count the ways:

  • Knowing when someone gets to work without having to walk by their office a gazillion times
  • Leaving messages with people who aren’t in their offices or who are busy at the time a visit is attempted
  • Productive (and often not-so-productive) back channel conversations on meetings in person (also requires laptop/wireless culture)
  • Quick questions that won’t take long to answer
  • The list goes on..

A healthy blend of all kinds of collaboration is a good thing. Given that free servers (like Jabber) are available, I personally couldn’t imagine letting a company grow beyond 10 people without a central directory and IM service.

Envisioning Information by Edward Tufte

Envisioning Information has been gathering dust along with Tufte’s other books that I got for “free” at his excellent one-day course last spring, but now that grad school is on hiatus for winter break, I finally picked it up and it was great.

It covers several topics about presenting information (mostly in print, but much is applicable to computer displays) like:

  • The use of color, to later and separate information presentions
  • Use of small multiples to present information. Lots of little identically formatted graphs/pictures are easy for the eye to discern differences and trends from, because one only has to “decode” the graph structure once
  • Techniques for presenting multidimensional data in space and time (like train schedules and planetary motion) in easy to read, two dimensional charts

The book is full of beautiful examples of well presented information such as train schedules and maps, along with what not to do, accompanied in places by case studies on improvements to the bad examples.

Bodies the Expedition

Monday I went to the South Street Seaport in NYC with my old roommate Neil to see BODIES the EXHIBITION. It was fascinating. They took a bunch of bodies and used a ploymer resin technique to preserve them in a state that was as close to real as I can imagine. They also had a room full of circulatory exhibits where they used a technique to colorize and polymerize all of the blood vessels and them float them in some kind of liquid.

There’s a cool sounding Pixar exhibition at Moma too, unfortunately I only read about that today. Knowing is half the battle, as they say.

Declining skills in developers

I was in an all-hands call, which as usual apparently for any company, was largely a waste of time and money. Anyways, as a prelude to hearing about some wonderful tooling/toolkits we should all standardize on, we see this chart:

chart shows average developer skill declining after 2002

The “chart” bothers me on so many levels. First I’m not sure why gartner feels that the average skill level of J2EE developers peaked in 2002. Why 2002? Is that when the smart, early adopters of J2EE started fleeing for the greener pastures of python, php and ruby? Or was the field swamped by “Sun Certified” J2EE folks who can memorize APIs but not actually solve problems? Secondly, by what measure are J2EE applications getting more complicated? Did the world get dramatically more complicated since 2002? If your architecture or platform (J2EE) is so complicated that you need to slather on more layers of “architecture” to fix it, isn’t there something fundamentally wrong in the first place? Complexity is not a virtue.

Lastly, as a developer thinking about skills that are applicable to another job down the pike, why would I want to learn an proprietary wizard-hand-held way of doing things when there are so many great open source solutions to the same problems that would be applicable at many more jobs down the road?

Improvements to p6spy

P6Spy is a great little tool that allows one to log all JDBC calls a Java application makes – allowing one to get a high level view of where some application bottle necks are (i.e. repeated, identical calls can probably be cached). Though it is included in applications like Infrared, it itself has unfortunately not been updated in over two years. I’ve never even seen mention of forking the project, just a few posts on its message boards sharing a few code snippets. It seems like it got folded into IronEye SQL, whose website is responding for the first time in weeks as I post this, coincidentally, but are apparently out of business anyways.

I’m posting an updated version that fixes a bug (impossible to deactivate logging of result set rows) and adds a new feature. The new feature is the addition of a category “resultcount” which will print out the number of rows fetched for a query in the format:

<p6spy preamble> <separator> <select query> <separator> "generated N rows"

Without further ado, the downloads:

Medical Mini Rants

Here’s a couple of medical-related things that have bothered me in the last few days:

###The Flu Shot Cupboard is Bare
Despite last winter’s much lamented Flu Vaccine shortage and all its associated hand wringing about solutions for the future, I cannot find a flu shot this season. I go late in the day to Tuft’s flu shot clinic for students, and they’ve run out. I make an appointment for a flu shot with my real doctor and then a few days later get a call cancelling my appointment because they’re all out. No one seems to know when they’ll get more either. Where is the media outrage? Apparently the only way to get a flu shot this year is to work for a large company that makes machines for business across national borders and go to one of their under populated, over vaccine-supplied clinics.

Or line up early and often as if to buy bread in Moscow in the 1980s. Terrific!

###Having to Show Id to Buy Sudafed
I was at Target on Saturday, and as I was feeling a little under the weather (perhaps its the flu I can’t get vaccinated against) I decide to pick up some Target brand 12-hour Sudafed. Only thing is now you have to take a card with a picture of the item to the pharmacy, where they will not only id you to make sure you’re old enough to buy Sudafed, but also record the information in some database and make one sign some extra slip of paper. Sounds like a feel-good, zero-effectiveness way to win the war on meth-labs in Somerville. Are there even any? Then I guess its working. Did we have a problem to begin with?

If I buy a bunch of sudafed and a keg in the same day, which have equally onerous purchase registration requirements around here, I wonder which would generate a police visit first?

Sure, switch to the new Sudafed PE “eqivalent”- only there doesn’t seem to be a generic equivalent yet, so I’d be paying more to avoid the inconvenience of getting the old stuff.

All of that, and I bet people who run meth labs are still having no problem getting a hold of their Pseudoephedrine.

Coal: A Human History

I’m always intrigued when someone spends time to write a book bending the span of human history through the proverbial lens of a particular substance. I thought Salt: A World History was actually rather good, so when I saw Coal: A Human History for $5 at the MIT Press loading dock sale, I knew my proverbial ship had come in at long last!

The book documents, as you might imagine, the history of coal, and how, hidden away in boilers 30 stories tall, it continues to drive much of our society even today. The Chinese first burned coal centuries before the west did, but never got the steam engine/industrial revolution thing figured the way the British finally did. After an initial false start (the rich hated the smell and got it’s burning banned for a couple of centuries, finally relenting when all the forests were chopped down), coal “ignited” the industrial revolution via the need to drain deep coal mines, resulting in the steam engine, then a whirling vortex of synergy between iron, steam engines, transportation and coal.

The book is very readable, written in a smooth conversational tone that goes down easy even in T-ride-sized nibbles. Any person moderately interested in history will appreciate the way coal is weaved into so much of modern western history.

It turns out there are numerous one-topic books of this nature – check out this Amazon list someone created a list of books about one thing.

Yahoo – a tale of two companies?

I suppose there must be a size n where for companies that reach a size greater than n, there is always some part of the company with its head crammed firmly up its ass, in spite of the ground breaking work happening elsewhere. Apparently Yahoo is at least as big as that magical size.
Tonight, I wanted to check out the new weezer video on yahoo music. Only for a mac user, that generates a pop up indicating that Netscape 4.7 is required (screenshot here) That’s a positively pre-historic browser version – it’s eight years old for crying out loud. That would be like steaming down the “information superhighway” with a Victrola on the dashboard of my buggy, whip in hand.

This goes to spite the post I was formulating in my head praising Yahoo Farechase and the new Yahoo Maps Beta (which is arguably better than google maps, for now due to cool hover effects, multiple directions, and route numbers for rural roads in directions).

Then again, since I know Yahoo bought farechase, along with their new beta email (which i doubt beats gmail, because the tired old desktop email metaphor that everyone copies is not better) it may just be that “old” yahoo is stuck in some kind of 1999 time warp, and they have to buy innovation (like Flickr, for example) rather than cook it at home.

Or maybe the Yahoo music team is too busy “innovating” ways to break tools people create to get their content to get around to making it available in contemporary browsers.

Fun with “Web 2.0”

I finally made some time Sunday night to tinker with some Javascript/DHTML using MochiKit which turns out to kick ass. Definately take a look at that if you’re doing any heavy lifting in javascript (They have a intro screencast). I don’t have anything presentable to show for my efforts – I still need to make it look pretty (which i suck at, being especially susceptible to losing hours trying to do CSS-based layout), and definately give it some curves. (Thanks Matt). Was fun to play with some rich internet application stuff, given that the application I work on by day is barely “Web 1.0”.

One cool thing I have to point out is OpenRico, which is an open source library to do some really amazing things with JS/DHTML/CSS (and most importantly, without Flash), like this cool demo. (which i always saw on weather.com and assumed was flash).

Its nice to see that browsers are becoming so capable, though I bet something as cool as Yahoo’s new (beta) mapping tool (which, is amazingly, better than google’s ) couldn’t be done today in DHTML.