WordPress Two’s “Flash” System

I installed wordpress 2 a few weeks ago, which doesn’t mean much in terms of reading this blog, but much in terms of administering it due to the majorly reworked back end. Anyways, to make a long story short, the admin site has this really great implementation of the “flash” (that is a highlighted element on a web-app page telling you something important/permanent has been executed, as in “your mail has been sent” or “changes saved”).

As flash messages must be, they are a bright, attention-getting color at first, but the innovation in wordpress is that they slowly fade to a color that doesn’t demand attention at all, leaving the user to work with the page without the distraction of a message that was only important for the first few seconds. The effect is so subtle that it took me a little while to notice it, but now that I do, I don’t know why everyone isn’t doing this.

I made a video so you can check it out: wordpress-full.mov

And from the archives, for fun, I mocked up what this must have looked like before DHTML: wordpress-oldtimey.mov

Sametime 7.5 and QuickChat

Congratulations go out to the IBM WebAhead team on today’s unveiling of Sametime 7.5. Its great to finally see that IBM Community Tools will be let loose to revolutionize connected workplaces everywhere, like it did IBM. I’m proud that something I was a part of nearly from the beginning in varying capacities got such a big splash during the keynote at Lotusphere.

A little birdy told me that QuickChat, an instant-buddy-list-search feature I developed in my spare time during my ill-fated post-WebAhead time at Lotus, was a big hit with the crowd at the demo. If nothing else, it’s still cool to see my invention up on the big screen.

Head First HTML with CSS & XHTML

Mostly because I love Kathy Sierra’s Creating Passionate Users blog and have heard much about the style of writing in the Head First book series, I ordered Head First HTML with CSS & XHTML as soon as it was released. (Ok I also got it because CSS is a paticularly nasty time-sinkhole for me when I’m working on anything web-related.)

I love the book, but for me it was too much of an introduction to HTML. Skipping ahead to the later chapters, I did learn some important things about CSS. Discounting that, the book is great. It’s sarcastic conversational tone keeps you engaged in the material, it has great examples and frequent special sections that break up the flow nicely.

This book is especially well suited for people entirely new to HTML- I’d definately recommend this book for that audience. The pacing is so well thought out, almost anyone could learn HTML here.

I enjoyed the parts I actually did read so much, I ordered Head First Design Patterns (taking advantage of my “free” trial membership in Amazon Prime) because I never quite got through the real Design Patterns book.

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.