Tuesday, August 31, 2010

A thought about edge cases

In programming (and probably other engineering disciplines as well), there's something called an "edge case," which more or less equates to a statistically unlikely--but still possible--scenario in which your users may find themselves. This, friends and bretheren, is where the build-a-better-mousetrap mantra runs up against The Brain. It's not just the arms-race between you trying to idiot-proof your application and nature evolving cleverer idiots. It's also about the fact that the writers of a particular bit of software--your humble blogger as guilty as any of them--tend to think linearly; The Real World maybe not always so much.

So it befell that today I caught a bit of...let's call it "heck" over an emergency code reversion that I had to do in Subversion back in June. I had (successfully) unit-tested my changes in the lowest common denominator of Internet Explorer 6 and pushed code into the integration and QA servers where it caused all manner of mayhem for those running IE7 and higher. By which I mean most of the office. So there was a bit of a fire under my proverbial toes to undo my damage. (For non-developers: It's the equivalent of putting the car in reverse and putting the pedal to the medal.)

My gentle readers of earlier posts will, doubtless, be shocked to learn that it didn't go so well. But I didn't learn that until this, the eve of September, when one of my co-workers ran into file conflicts (not 100% my fault, I might add; there were other factors involved, which of course resulted in Subversion having one of its typical drama queen fits). But the central point is that, in June, I thought I had committed a successful reverse-merge to the repository (a.k.a. the code mother-ship) when I hadn't.

Now, well over 90% of the time, I'm going to be using this software (and the process cobbled together around it) to slap a herd of revisions on its collective backside and send it up the line: Boring stuff. Yet when a change has to be undone, there's typically more than a bit of adrenaline involved, because that means that something's broken or we didn't actually want it public yet. Thus, given the stakes, I would posit that that traveling back in time (code-wise) should be a one button process--and an absolutely bullet-proof one at that.

As much as it may seem like this is merely another chance to bash my least favorite software package--quite possibly of all time--I'm taking away something from today's blowup as well. And that is that un-using (yes, I'm making that word up, but you know what I mean) software may well be more critical than using it. This isn't an original thought on my part--at least from the advice that "Mistakes should be easy to undo." Rather, what I'm adding to that is the consideration that gracefully handling edge-cases is a yardstick for both design and implementation. Because making users rock and making them feel Not Stupid are really two sides of the same proverbial coin.

Monday, August 30, 2010

A disturbing similarity

Something like five years ago, I grouched to the Powers That Be about the El Cheapo locking handle for our office suite's door to the stairwell in our building, which was sloppy enough that actually I had to hold it in horizontal position as I locked it with my key. I believe that TPTB complained to the landlords a few times, to no avail, and the handle became progressively wobbly over the years.

That was until someone broke into the building over a weekend. Fortunately, no suites were compromised. But lemme tell you--did that ever put the fire under the landlords' toes: The new lock looks positively bulletproof.

Problem is, it's a finicky pain in the backside to actually lock. Most of my co-workers use the elevator at the end of the day, so I always verify that the door is in fact locked before I exit the building. Sadly, the process is still a matter of error-and-trial for me, even days later. That's a problem. As in software, you never, everEverEVER want tradeoffs between security and usability--indeed, the latter should be a pillar of the former.

Having been whacked upside the head with that point, I can only--and very fervently--hope that I've followed my own maxim through the years. Because the online and physical-world parallels run a little too close for comfort for me just now.

Sunday, August 29, 2010

The technology-trust gap

Last Saturday night I was at the hotel's complimentary workstation to print boarding passes, and noticed an option to subscribe to text messages about the impending flight. I declined the amenity, simply because, well, we all know what happens when you give a big faceless corporation any tunnel to your attention. (That, and the week before, when our flight out of Philadelphia was already running two hours behind schedule, the gal sitting next to me responded to her cellphone's "new message" notification by checking it and announcing sarcastically, "Oh, look: Our flight's running late.")

Granted, these are merely two anecdotes, but as we come into a world where you can text your pizza order (and probably pay for it with the same phone), the question of whom to do business with--even in such a cut-and-dried transaction--will become more important. Even when your wireless plan charges you for individual texts, those little slices of your attention are worth more. I'm personally not looking forward to SMS spam-filtering, but given how freely robo-callers and other bottom-feeders avail themselves of my landline, it's only a matter of time.

Different technology, same old story.

Saturday, August 28, 2010

Historical perspective

I probably appreciate the self-congratulatory peeks at retro technology as much as the average 21st century geek. Although, in this case, I can't be too smug at something like this, because my first computer (an 8088 powered by two 5.25" floppy drives and no hard disk) boasted zero on-board storage.

Fortunately, there's a great deal of perspective waiting behind the instinct to revel in the great, good fortune of living & working in the PC/smartphone era. A pair of such moments were waiting for me a week ago at the Army Museum located in the Citadel of Halifax, Nova Scotia.


The first is was an example of headphones. Not exactly the padded featherweight of Bose, these. But that probably wasn't high on the priority list of the folks using them to locate mines in World War II. My maternal grandfather, a mine-sweeper of 54-F Pioneer Company in the First World War, would have rejoiced to have such technology at hand. Preferably before his best friend (also a mine-sweeper) missed a trip-wire and was blown apart while Grandpa could only watch (and/or dive for cover).

The second artifact is what WWII called a mobile phone. Transmission of radio waves (which, in military terms, replaced a terribly vulnerable--wired--telegraph technology) predated even Grandpa, and had already seen use by the British during the Boer Wars, and developed a highly complex system for sending messages to its fleets after war broke out again in 1914. Doughboy Signal Corps units relied on "portable wireless outfits" (i.e. wireless telegraphs that could be comfortably carried by four men or truck-mounted for field use) with antenae ranging between three and four feet tall.

In addition to adding full-fledged telephony, WWII's mobile communications (as shown above) saw great advances in compactness. But, alas, our perennial complaint of losing all bars has a long and dishonorable history: Significantly, it was a contributing factor in the ill-conceived debacle known as Operation Market Garden. Needless to write, the cost was paid in blood and treasure--and dearly.

Which, IMLTHO, may be something to keep in mind when the next iGadget is unveiled to the sound of the trade press hyperventilating over how it "revolutionizes," well, everything. In reality, that particular revolution's been here and gone. Sure, another may come along, but spending all attention on whether or not something has a a built-in camera pretty much guarantees that the next (real) revolution will come out of left field.

Friday, August 27, 2010

Frivolous Friday, 08.27.2010: The geek that would not die

Well, maybe not entirely frivolous, because this actually brasses me off more than a little. See, most of my childhood was spent in Minnesota, from whence hail a sizeable fraction of my Mom's side of the family.

Now, I'll grant you, the state doesn't sport quite all the amenties of civilization, most notably the ability to buy a bottle of wine at the grocery store--particularly on a Sunday. That's a definite knock right there. But, in the main, they share any number of our Wisconsinite values--and much the same weather. In other words, Minnesota is like the little piece of Canada that moved south, donchaknow.

Up until today, however, the worst Minnesota-themed nightmare my twisted imagination could have devised revolved around a Vikings Superbowl victory led by...[spits]...The Traitor of Titletown.

Oh, how very, very wrong I was.

Nay, my friends, the perfidy of our neighbor to the west extends not only to harboring...[spits]...He Who Shall Not Be Named, but even to--dare I write it?--arresting zombies.

Yes, yes, yes: I understand that we live in a world where people think they're making a point about liberty & freedom by showing up at rallies dressed as George Washington, who called 316 human beings "legal property" at the time of his death. (2006--like 2010-was an election year: Nuances will be lost. As will a whole lotta sensitivity to raw irony.)

But classifying amplified "creepy music" as "simulated weapons of mass destruction" and using that as the rationale for holding people w/o charges for two days?

Seriously?!?!


True, I suppose that the detained protesters might count their blessings that the Folks in Blue merely broke out the handcuffs and not shotguns and flame-throwers. (Although--and I hang my head as I confess this--if it had come to flinging 80s LPs like Frizbees as Simon Pegg and Nick Frost did in Shaun of the Dead, I totally would have paid money to watch that. Laughing my butt off the whole while.)

But.

Personally, I think that whoever negotiated the $165,000 settlement was straight daft. Not only because you know as darned well as I do whose pockets that will line. But also because, really, such a piffling amount--heck, a government the size of Minneapolis can fund that by lifting the seat-cushions on its municipal buses--is tantamount to encouraging stupidity. Not, mind you, unlike the way an ineffective antibiotic will grow a super-virus.

And we all know what that means. Next thing you know, there'll be rampant

  • Arguing with drunks
  • Violating the Prime Directive
  • Dividing by zero
  • Tugging on Superman's cape
  • Spitting into the wind
  • Pulling the mask off the old Lone Ranger
  • Making Jim Croce roll in his grave

That's just how it works, friends and bretheren. And all because some souls never got the memo that stuffing geeks into lockers isn't cool in the Sixth Grade, much less in adult life.

But here's the thing: Geeks evolve too. And if the next protest...perchance...involves steampunk zombie velociraptors? Well, now, whose fault is that, I ask you?

Thursday, August 26, 2010

Meeting mischief

Ironically, part of today's news-cruise involved catching up on the Rands in Repose blog, which dealt with the fine art of meetings. This art includes knowing when to stick to the agenda and when to let it extemporize. Which merely demonstrates that knowing what's right and doing what's right can sometimes be two different things.

Anyhoo, the dev. team was collectively trading notes on our evaluation of the next-generation of our bug-tracking system. Surprisingly, this didn't turn into a free-for-all of scope-bloating wish lists. Maybe because we're mostly developers and have been poked--yea and verily even perforated--by the sharp end of that.

That was until someone--who doesn't like the system anyway--quibbled with a modest request that I had for making the issue history somewhat more scannable. So the little red-garbed, horned, trident-brandishing version of me then encamped on one shoulder said, "Can we have a 'Like' button for comments, then? I think they should have a 'Like' button." Then QA pointed out that a "Dislike" button would be equally applicable, to which others of our party concurred. Then someone else went so far as to suggest reworking the user interface along the lines of "Farmville." Aaaaand the cork basically popped out of the genie-bottle.

Alpha-geek quickly jammed said cork back in place with, "Alright, does anyone else have any valid suggestions?"

Hrmmph. Buzzkill.

It's probably a good thing that the next month or so promises to be insanely busy, or rising to the challenge and spicing up our scenario-planning UI to flirt with being sued by the makers of "Tetris." Or perhaps hijacking the iPad interface to replace the single-tap placement of a person in a workstation with something more reminiscent of the cheap plastic BB-based games I grew up with. Or, if I'm feeling lazy, Facebook's "Kidnap" game could be suitably adapted to our purposes--and you could make the argument that if you can't be bothered to look up information about your new workplace, you really aren't interested in working there anyway. (We're just helping our clients weed out the unenthusiastic clock-watchers...yeah! That's our story and we're sticking to it!)

I mean, aren't you supposed to come out of meetings with different perspectives on things, after all? But, alas, keeping my primary client happy trumps all. Not to mention that I think there's actually something in my contract about not slipping Easter Eggs into code--mine or otherwise.

Silly capital-R reality, getting in the way of a perfectly harmless UI revamp. Sigh.

Wednesday, August 25, 2010

Don't be this person

In this instance, I specifically mean me. True, I don't count my blessings nearly often enough. Most times, though, I honestly consider myself walking proof that the Powers That Be do, indeed, look out for fools. But that's no excuse.

Case in point: A brand-new motherboard freaked out not long after Dennis graciously upgraded nearly every part of my workstation, and I rebuilt the software parts from scratch and backed up data files. With vacation looming in the schedule, I figured I'd just limp along with a laptop and deal with another round of backing up later.

That reckoned without the Household Hardware Guru having to squeak the return in to TigerDirect under warranty. And so I arrived home to find the poor beastie already down in the den and disassembled. Whoops. Fortunately, the gamble paid off and the new Asus motherboard had the same chipset as its precessor, no manufacturing substitutions having been made in the interrim. Ubuntu booted up tonight as if it hadn't missed a beat in over three weeks.

Needless to write, the first thing I did after that was to download everything that's been living on various servers, then plug in a flash drive and copy, copy like the wind! Because the inconvenience was merely the proverbial warning shot over the bow from the Powers That Be--and duly respected as such. And in that penitent, chastened spirit, I present the incident as testimony that backups are a waste of neither time nor money. Hardware can blow out at any time for any reason, and, well, ounces of prevention, yo.

Tuesday, August 24, 2010

A "Rocky" for family-owned businesses?

Okay, this is sort of tongue-in-cheek, except that it really is a good movie--not just the typical theme park one-big-down-one-big-up roller-coaster formula.

Actor Chiwetel Ejiofor was--with Audrey Tautou and a never-an-off-note supporting cast--absolutely brilliant in 2002's gritty Dirty, Pretty Things, so Dennis pitched 2005's Kinky Boots into the Netflix queue. (Title aside, it's tame enough that you could probably watch it with your Grandmother. Indeed, the older ladies get the credit they truly deserve in this flick, and Grandma might just appreciate that you're finally treating her like the adult who's seen waaaaay more than you have.)

But I digress.

The plot is not only that doing more of what doesn't work is the simplest formula for extinction. It's also that merely reciting poetry below the boudoir window of one's new niche isn't good enough: It must be embraced. And, naturally, taken 'round to Mother's for tea. If you're not entrepreneurially-minded, it's still entertainment that doesn't lose touch with the human side of either filmmaking or business.

- - - - - - -

A quick aside about the two-day blogging hiatus: Dennis and I were en route from vacation and were stuck in either airplanes or airports for well over 24 hours. Apologies for the uncharacteristic lapse: JFK Airport does not have wi-fi, and sleep took precedence by the time we were safely back home.

Saturday, August 21, 2010

Learn or stay home

Apologies in advance, but this will likely be a rant in disguise.

Here's my idea for a working museum or observatory or any other amenity of a civilization that honors its past and plans for its future. The entrance of such a structure will be wheel-chair accessible and very, very long. Patrons will be admitted as the atomic social units (couples, families, what-have-you) that they are. During their journey from the outer entrance to the inner registration desk they will--unbeknownst to them--be secretly triaged based on their conversations and interactions as well as their ability to follow signage.

Upon reaching the registration desk, each party will be pointed to one of two entrances:
  • The first entrance leads to the actual exhibits, staffed by exhaustively knowledgeable guides/interpreters hired for their passion and ability to communicate.
  • The second entrance leads to a bunch of bogus--but flashy--displays, staffed by personable slackers who are allowed, perhaps even encouraged, to make up stuff.
On the surface, there seems to be quite a bit of redundancy in terms of both facilities and staffing. Yet I would argue that this setup merely outsources the morons who show up merely to be entertained--or, far more obnoxiously, to have their children entertained--to a lower-cost service, thereby maximizing the value of the experts. Southwest Airlines is famous for segmenting its customer base, why can't other institutions?

Friday, August 20, 2010

Frivolous Friday, 08.20.2010: Recommended Reading

I'll probably write more on this from a more serious angle of angle after I polish them off, but in the meantime, I heartily recommend the memoirs of General/President Ulysses S. Grant for reasons that have little to do with software development:
  • At West Point, Grant excelled at few things, but mathematics was one of them. (Booyah for America's second Nerd-in-Chief!)
  • His writing, thanks to his own talents (with presumably a bit of polishing from a contemporary whose name might seem familiar because it's Mark Twain) is cogent, clear-eyed, modest, respectful of history where record and recollection diverge, and actually laugh-out-loud funny at times.
  • The recollections and opinions are pretty much guaranteed to creep you the heck out with either their prescience. Ditto the head-banging frustration of realizing how closely history can repeat itself (e.g. the way the first-hand description of San Francisco during the Gold Rush years presages the dot-com boom and collapse.)
  • The work, originally published in the 1880s, is out of copyright and should be available for a price ranging from free to chump-change.
  • It should whet your appetite for more. Seriously--the Civil War isn't quite so done-to-death as World War II, but its paths are well-worn enough that I tend to shy away from it, given the choice. After this, I actually might break down and hitch a ride on the Team of Rivals bandwagon.
  • (This was endearing to me, anyway: Grant more or less concedes that, when it came to finer details, he pretty much needed a keeper. Just like I sometimes do.)
Granted, this isn't exactly pulp fiction we're talking about here--meaning the kind of brain-twinkie you snarf down during re-run season. And it's not unbiased: Despite a certain gentility, Grant makes no bones about his views. Plus, he also tends to gloss over certain...shall we say..."complicating" details, such as his wife coming from a slave-owning family, not to mention his skirmishes against the bottle. For all that, you simply can't go wrong with this peek through History's keyhole.

Thursday, August 19, 2010

Language issues

This isn't about computer languages, actually--it's probably more an exercise in channeling the shade of George Carlin (minus the trademark Seven Words). Although, as an aside, for as much delight as the late Mr. Carlin took in playing with the English language, the nerd in me can't help but what he'd done in the idiom of boolean logic, object-orientation, recursion, P-vs-NP and the like.

But that's enough digression. For this blog post, anyhoo.

So. I was at the counter of an establishment which shall remain unnamed, signing up for service. Not quite the slam-bam-why-are-you-still-here kind of transaction, this, tho' transitory enough that being urged to sign up for a membership of sorts seemed odd. Not exactly being exactly famous for my poker face, I must've showed some of the "Are you, like, being paid commission on this or something?" that was going through my head. That's when the lady at the counter said, "It's free, and there's no charge."

Now, granted, I've perchance been spending too much time on telling computers what to do, talking shop with my sibling geeks, perchance even reading too many LOLcaptions. All that, mind you, on top of stalking an age when one's weltanshauung begins to ossify.

But. In my little corner of the Universe, "There's no charge" is merely a three word way of saying "It's free."

But, wait! It gets better.

On the way out of said establishment, I noticed a notice that had been taped over their ATM. It read, "Temporarily Out of Service." Now, I suppose that there exists the very slightest of chances that the individual who posted this notice might have been raised in the former Soviet Union, where the distinction between "Temporarily Out of Service" and "Permanently Borked" would have indeed been useful. But I posit that here in The Free World (TM)* we overwhelmingly tend to rule out the latter option; entirely squandering the nuance.

Yet, on second thought, perhaps both individuals had their respective points.

The definition of "free" (in the financial sense of that word) has been severely warped, for which I entirely blame the private sector. (Remember Columbia House records--a gazillion albums for a penny or some such? The "Juicer" shipped--at no extra cost--with your set of Ginsu knives? The "free prize" inside your box of Sugar-coated Simple Carbohydrates? Yeeeeah. That's what I'm talking about.) In other words, I consider what the lady at the counter said the symptom of a much, much larger disease.

And in terms of service, doesn't it seem to you that our expectations are eternally being massaged. As in, "You have to hold your iPhone this way if you actually want to use it." Or "This website best viewed with ..." Or heavily- (but vaguely-) caveated "unlimited" wireless web access. Again, symptom vs. disease.

Now, I humor myself by imagining that I'm not such an old fogey as to forget that any language mutates, the English language perhaps more than most because it's such a mongrel--and not a paper-trained one at that--to begin with. One reading of Beowulf should nail down that point.

Yet that's not to suggest--much less come right out & say--that it has to be this way, that the perversion of terms antithetical to the interests of the There Will Be Blood-style capitalists is so many omelette-destined eggs. I firmly believe that the rudder of the language should be held in two sets of hands, namely 1.) proles like us, and 2.) people who have been particularly trained in the safe handling of grammar and vocabulary. This expressly disenfranchises The Suits and the Pols. I mean it, too: Join either class, and your linguistic drivers license will be summarily revoked. That's just how it works. Or will work, at any rate. Right after I take over the world via the blogosphere.

- - - - - - - -

* Restrictions apply. Void where prohibited by the chickenhawk politicians who authorized the (cough!)Patriot(cough!) Act, not to mention the bunraku that is the NSA and the DHS.

Wednesday, August 18, 2010

No post tonight

For the first time in the past month or so, my internet connectivity issues are not, in fact, the fault of CenturyLink, so I figured I'd just put tonight's thoughts on ice before things went down again--perhaps for good. Have a good rest of the night, all!

Tuesday, August 17, 2010

Yellowberry

I guess I don't know where to begin on this, except to say that I'm sorry that I ever owned a BlackBerry, back when the device looked like a chunky pager. First it sold out its users to Saudi Arabia earlier this month, and now it's doing the same in the second most populous country in the world (India).

Yes, I realize that Research In Motion is facing very stiff competition in the smartphone market. But its one selling point has been its integration into business email infrastructures--something that neither AT&T (iPhone) nor Google (Android) nor Hewlett-Packard (now the suzerains of Palm) seem interested in. And there's a huge--nay, make that ginormous--difference between pissing off hundreds of thousands of individual phone users and pissing off the domestic and foreign corporations who will now have to scramble to find, buy and implement a viable alternative, all the while trying to minimize the damage done.

Walking away from your core defense--i.e. a corporate user-base which can be counted on to vent their outrage on the pols they put into office--is, quite bluntly, stupid. Sooner or later these self-appointed snoops will have to be taught the lesson that the internet is not their satrapy. And, weakened though it is in the consumer market, Research in Motion is uniquely placed to fight this battle on their home ground in the enterprise market. They've thrown that advantage away for good, and I simply cannot grok such monumentally yellow-bellied stupidity.

Look. Normally I despise war metaphors when it comes to business. Sun Tsu and Miyamoto Musashi lived in completely different times, and the analogies only stretch so far. But meekly agreeing to surrender when you could pick the battleground and make allies of your customers? That's moronic in any context.

- - - - - -

Disclaimer: Dennis and I jointly own stock in RIM. But not for much longer. When it's all said and done, investment in the technology sector is about subsidizing the guts to play the game short- and long-term. Cravenly caving to two governments with less-than-stellar human rights records (when there are plenty more of them around to notice) shows neither. Buh-bye...

Monday, August 16, 2010

Another book report

It might be something like weight-lifting for reading skills, but after gnawing at the almost over-formal, academic style of The Anatomy of Buzz and the more technically precise style of The Design of Everyday Things, I felt like I snarfed Cognitive Surplus by Clay Shirky.

The proverbial meat-n-potatoes of the book is that the era of passive entertainment--primarily television--was largely an aberration, and that people are intrisically motivated to create, collaborate and share. The permutations of these motivations provide much of the content after the preface. What I thought to be the take-aways for the software developer--web and mobile developers in particular--were these:
  • Passive entertainment will not die; it will, however, have to compete with the desire of people to control their own experience with the larger world. Things as diverse as LOLCats, Napster, citizen journalism, political protest coordination, open-source software, etc. are driven by such motivations.
  • Because such motivations are intrinsic--i.e. come from inside--they cannot be effectively bought-and-paid-for. Co-opting such motivation must be done with great care, and can turn on the co-opters with a vengeance.
  • Technological revolutionaries will not accurately predict the full effects of their creations; neither will those with a vested interest in the status quo.
  • How people will interact with technology (for personal or public good) is largely directed by the opportunities it affords them, rather than the intent--in other words, enter the Law of Unintended Consequences.
  • Scaling from a few dozen members of a network to a few thousand must be managed with extreme attention to the nuances of the underlying culture.
  • The proliferation of networked technology (computers and cellphones) combined with the trillions of hours of available free time can not be spoken of in Utopian terms. YouTube can be used to post inane cat videos or pirated content just as easily as footage that could topple a dictatorship or bring corruption to light.
My only complaint was a certain degree of self-promotion that riles the Upper Midwest's ethos of modesty bordering on self-effacement, i.e. the ethos under which I was raised (albeit perhaps not with entire success). Overall, however, the examples are lucid and entertaining, and Shirky's style is eminently readable. In other words, more than worth the few hours of a programmer's time.

Sunday, August 15, 2010

Book report

I managed to finish ploughing through Don Norman's The Design of Everyday Things over the weekend. Overall, I thought it was a skosh longer than it needed to be, simply because Norman's writing favors the proper over the idiomatic. Yet I hope that its fundamentals will look over my shoulder while writing the UI parts of my code, just the memory of some individuals do as I'm writing.

Superficially, Norman comes off as a fussy old man, obsessing over the usability of doors--yes, doors--and all but throwing up his hands on software. Yet the book practices what it preaches in that it does not assume that the reader will memorize it, and sticks to a small handful of ideas that can be put into practice in a variety of contexts. Among those precepts:
  • People will blame themselves for mistakes that are actually the result of design that sucks, which only perpetuates the problem. Don't do that to other people. Ever.
  • As much as possible, map the interface to the user's mental model of the real world. For example, to make something go forward more quickly, make the user push rather than pull.
  • Give the user feedback on the current state, the results of what s/he just did, and a painless way to undo/correct mistakes.
  • More controls, if well-grouped (or selectively enabled/disabled or hidden/unhidden) are actually better than fewer controls that are reused (in different combinations) for multiple purposes. (See also The Onion's satire on Apple's keyboard-free laptop.)
  • If there's a preferred behavior, make it the single possible thing that can be done under the circumstances.
  • When all else fails, standardize. Beware that this is not as easy as it reads.
I won't say that I consider myself a better software developer for having read this book; only experience will tell on that. But in terms of having an invisible editor--in this case an editor enforcing the "grammar" of user interfaces--at your side during UI design, it's invaluable. I think it was John Lennon who said that writing music is easy until you learn how, and the same can be said of making users rock at what they are trying to accomplish with your handiwork.

Saturday, August 14, 2010

Sad commentary on Web 2.0

...at least as I relate to it. Earlier today, I found myself in front of an old-fashioned painting of a little girl with her cat--and immediately thought of an appropriately cheeky LOLcaption for it. Sigh.

Friday, August 13, 2010

Frivolous Friday, 2010-08-13: The accidental cult

I was away from the office today and--completely by happenstance--found myself in people-watching mode for the first time in I don't know how long. I do know, however, that the last time preceeded the widespread adoption of smartphones, and the contrast was glaring. In defense of the folks yakking or fixated on tiny screens and keypads, we were all more or less stuck in the hurry-up-and-wait zone--one that had a certain Purgatorial feel to it at times.

True, I unwillingly eavesdropped on any number of "working" calls, but the overwhelming absorption in the universe channeled through or created by miniaturized computers that also happen to make phone calls generally brought to mind the fetishization of TV in previous decades. Which, in turn, specifically brought to mind a strip from Bill Watterson's Attack of the Deranged Mutant Killer Monster Snow Goons, which begins with Calvin kow-towing to the television, intoning: "O great altar of passive entertainment, bestow upon me thy discordant images at such speed as to make linear thought impossible." And you just can't argue with things that just juxtapose themselves like that in your brain, now can you?

And of course, a cult with any longevity whatsoever can't exist without having rival factions at some point in its history. Witness how the "Crackberry" gave way to the iPhone, which is now battling a horde of Android upstarts. In any case, there's certainly no lack of Kool-Aid to pound back, nor charges of heresy & blasphemy to fling at the other faction(s)--am I right?

But ultimately, cults excel in nothing so much as their ability to block the outside world. Really, after that, what other argument do you need?

And, now, if my gentle reader will excuse me, I need to stop fixating on a small screen myself. Good night, all!

Thursday, August 12, 2010

A book waiting to be written

First off, I'll disclaim an intent--much less qualification--for writing it, but I still think that a book on the art of the hand-off would be a useful thing. Because handing off a project, a job, a company or what-have-you is too often a reactive process, even when it's planned. That's just how organizational inertia works.

Although, on second thought, perhaps the work should be split into two books, one for the hander and one for the handee. Of course, keeping them both on the same (figurative) page is another matter.

Wednesday, August 11, 2010

A sharp reminder

I spent the bulk of today in data input/doctoring space, but even a day with mercifully minimal distractions wasn't enough time for the process, because I had so woefully underestimated the amount of double-checking and gap-plugging to be done. Intellectually, I appreciate that data is not the same as information. A good part of what upgrades data to information is context. (In this case, your faithful blogger--representing five years with the application and processes it supports--basically am the context. At least as spreadsheet cells make their way to database columns.)

Maybe it's just leftover crabbiness from underappreciating that distinction, but I only now think to wonder whether that oft-repeated statistic that "information doubles every ten years" is in fact true. Mind you, it's not the doubling part that I doubt. Rather, I question whether the "information" in question is truly "information," and not just raw, or only partially-contexualized data. I don't think it's a question merely for the makers of search engines. True, filtering provides context of a sort--but that only stretches so far. It certainly doesn't juxtapose diverse datasets in meaningful ways. In other words,, the question boils down to when "context" will replace "content" in the "Content is King" mantra. Gut logic says that the palace coup will make a lot of millionaires.

Tuesday, August 10, 2010

No milestones without inches

Today, a few of what passes for Illuminati in our office sat down to look at an open source bug-tracker that I'd suggested. I was pitching it mainly on the strength of the fact that it should allow us to schlep all the info. from our current system into its database. But I was careful to emphasize how much custom coding it would need to clean up the undeniably ugly interface, plus one or two other potential deal-breakers.

When it was all said and done, my suggestion was pretty much shot down. But I was expressly thanked for taking the time to put the software in question through its paces. Partly for etiquette's sake, no question. But also because--for as much griping as the current system draws--I was, apparently, the only developer to put forth any alternative, however not-ready-for-prime-time.

Count me doubly-surprised there...but also reminded of why it's awesome to work for peeps who don't consider their time "wasted" by anything short of perfection. Namely because, externally, folks usually only see product milestones. But internally, it's a game of inches--same as anywhere else. And any "manager" who doesn't grok that differences in context doesn't deserve the title.

Monday, August 9, 2010

Random wondering

If an individual, generation or society becomes used to having information--from multiple sources, even--available at a near-instantaneous rate, will that decrease tolerance of uncertainty? It's not just a philosophical question: If a situation arises in which the available information is significantly less than the norm, will there be a corresponding paralysis of decision-making?

For all the talk about information overload and the distractions inherent in living on the grid, could adjusting the norms for how much information should be available add more or less "judgment" in the "judgment call"?

Sunday, August 8, 2010

Forgotten fun

I'm sorta-kinda mentoring a co-worker while he re-installs Vista on his Mom-in-law's PC this afternoon. By "sorta-kinda" I mean trying to apply the principles of many Win2K and XP installations to an updated platform. Thus far, the process hasn't thrown anything at us that we haven't been able to fumble our way through. But he's a Mac guy, which means that some "routine" installation line-items like rearranging the device boot order in the BIOS is foreign territory to him.

He's been so profuse in thanks for my help, which has basically been an exercise in back-seat driving. The funny thing is, I consider it more or less an even deal, because some of the discovery and wonder crept back into the process. In the infrequent instance that I rebuild a PC nowadays, the process runs purely by rote because I need it now-Now-NOW. Which is sad, IMO, because coaxing "magic" from these fractious contraptions is--or should be--the game for me.

Saturday, August 7, 2010

When lack of perfection is a selling point

[Facepalm] It's not so much the fact that the men's XXL shirt sported taste-free montage of a bald eagle, Old Glory and the first page of the U.S. Constitution, or that it was assembled in...wait for it...Guatamala. It's that it seemed to be the only one on the discount rack--meaning that the rest actually sold.

Not that the women's apparel section is any less depressing, albeit in different ways. But on the way out, I pointed out to Dennis something I noticed about the brand display on one rack of FILA sportswear, which featured tennis powerhouse Kim Clijsters as the the model. Ms. Clijsters had obviously seen a stylist and makeup artist prior to the photo shoot, but--almost shockingly--the small crow's feet at the corners of her eyes and the smile-grooves on either side of her mouth had not been buffed out by editing software.

Naturally, the apparel had all been assembled in developing countries, and FILA's website is guilty of the usual PhotoShopped anorexia that passes for modeling. But I was actually a little surprised at my initial, and quite favorable reaction to the brand. I like to believe it runs deeper than the brief reprieve from impossible norms. Because with imaging software so regularly and egregiously (and sometimes hilariously) warping reality, perhaps warts-and-all authenticity will become a viable market differentiator. Personally, I'm not betting on it, at least not in any mainstream sense. But the fact that it's possible--even if only for upscale or niche brands--is fodder for hope.

Friday, August 6, 2010

Frivolous Friday, 08.06.2010: The Andrew Marvell edition

(Because carpe diem applies just as much to software startups as it does to 17th Century metaphysical verse. In case you've forgotten "To His Coy Mistress" since Lit. class, the original's here. NQSFW, btw--who'd have guessed that the wooing of previous centuries could be anything but G-rated, I ask you...)

Had we but funds enough, and time,
Such rework, partner, were no crime.
We would sit down and think which way
To make thy scope-change o' the day.
Design alone should then decide
Which features go, and which abide:
Conflating always "could" with "should,"
From teeming brains unleash our flood.
All options could we then peruse
As if we had all time to lose.
Our feature list we'd prune to grow
Into a flawless one-point-oh.
Our sanguine prospects we'd appraise
And rounds of VC funding raise.
We'd merely have to ship the best,
And let the trade buzz do the rest.
Our product then could pass for art
Which woos the mind--but wins the heart.
For, partner, we deserve this state,
Nor would I set a nearer date.

But at my back I always hear
Our promised ship-date drawing near;
And looming always in mind's eye
The spectre of our bankruptcy.
A ramen diet is not sound,
Nor second code-shop can we found
When lawyers and collectors vie
For our extant liquidity;
Our patents yellow'd, gath'ring dust--
Such booming prospects turned to bust!
Thy changes have both time and place,
But not whilst setting market's pace.

Before insisting that our crew
Subsist on naught but Mountain Dew,
Pray damper thy creative fires
Until we've time for what inspires.
Now let us triage while we may:
With time-to-market seize the day,
By marking progress with the hour
And prizing bud before the flower.
Let us roll all our efforts, all
Our focus, up into one ball,
And waste not time o'er pointless strife--
A beta, rather, bring to life.
And, though thy tweaks shan't make V. One,
In version 2 they'll have their run.

Thursday, August 5, 2010

The customer - member gap

When I hit the online checkout with two shirts in my basket, the dreaded "Create a login" form appeared. Click went the "X" on the browser window.

Before my gentle reader exercises her/his right to do the same with this browser window, allow me the disclaimer that this isn't a hot-house flower rant against the drudgery of unnecessary keystrokes and mouse-clicks. Rather, I think it serves as a good example of not understanding what business you're in--as in a chain supermarket vs. food co-op dichotomy.

In most scenarios, a login implies things like identity within a membership, exclusivity, access to privileged information, the ability to create content. That's why we have them for our work computers, bank accounts, social networks, etc. Requiring a login to purchase something online only makes sense if I'm eligible for special treatment (e.g. free shipping). There's no such incentive in this case, particularly not for a first-time, perhaps only-time customer.

There's a practical dimension to such philosophical quibbling, however. The problem with such forced "memberships" is that the login is useless to the would-be "member" unless s/he returns on a fairly frequent basis. Until that time, another, potentially orphaned-from-birth username-password combination has been spawned. If appropriately robust and unique, the liklihood of its usefulness will be slim (because--seriously, now--how often do folks write down logins they may never use again?). If not robust or unique, the username and password pair is actually a liability--something that could be more easily cracked and fraudulently used. Not much of a choice, that.

I suppose there's plenty of room for hair-splitting on the differences between members and customers, but I do think that recurrance is a key component. Logins don't, by themselves, particularly encourage recurrance--and, as in my stubborn case, can prevent it entirely.

Wednesday, August 4, 2010

Pair-programmer #WIN, Communication #FAIL

For a few minutes today, I thought I'd have to again single-handedly grapple with a zombie gremlin, namely one that didn't show up until after the code in question had been promoted to QA, spot-checked, and was actually being tested. As anyone who's had to fight zombies alone (minus regulation chainsaw-hand and boomstick) can appreciate, I was less than thrilled.

The backstory is that fellow programmer J. and I had narrowed said "gremlin" down to a scenario not likely in The Real World, but very likely in testing. (Seriously, how many users will access a website via Secure Sockets Layer, then arbitrarily doctor the URL to use plain-vanilla, unencrypted HTTP?) It's still a gremlin, per se, albeit an edge case rather than a show-stopper. No worries--just slap that beastie on its backside to get it moving up the trail to the prime-time server.

At the time, I thought that our pair-debugging was particularly brilliant: J. and I quickly nailed down why I hadn't been able to re-create the problem for the life of me--nor could anyone else I'd asked to hammer at it. Problem was, J. forgot to share that insight with QA before escaping for GenCon. And I didn't think to account for J.'s...errr..."level of preoccupation" when the IM popped up to let me know that the gremlin had returned. And thus I wasted even more time. (D'oh! Guess we were only half-brilliant...)

Moral of the story: As much as many gremlins reside between keyboard and chair, some also like to hole up in the spaces between cubicles.

Tuesday, August 3, 2010

Wanted: Netflix for books

I marched through the remainder of The Anatomy of Buzz yesterday. It was worth the eyeball-time, but I doubt I'll ever read it again. In such cases, a cross between Netflix and a less sleazy rent-to-own business model would be perfect: If I like it enough to want a copy permanently, I can buy it; if not, back it goes into the pool for someone else to try.

At present, that idea amounts to wishful thinking on my part. It seems (judging from the blogs of Clay Shirky and Seth Godin) that the publishing industry is resisting the full implications of digital distribution--and doing it about as well as the recording and motion picture industries.

Ultimately, I think that publishers--including self-publishers--will largely bypass the retailers, at best turning them (more obviously) into marketing fronts. But in the meantime, the distribution mechanisms (full-fledged computers, tablets, smartphones and e-readers) are in their Wild West, VHS vs. BetaMax phase. Unfortunately, such profusion of options pretty much guarantees more evolutionary dead-ends than usual.

But in the fallout, perhaps there will be room for the equivalent of secondhand bookstores (minus, alas, the heady perfume of old paper), catering to esoteric formats and out-of-print content. I love secondhand bookstores, so I can't resist that bit of wishful thinking.

Monday, August 2, 2010

No post tonight

Still too under the weather, even after spending most of the day napping and reading. On the plus side, I'm well into Donald Norman's The Design of Everyday Things, so there might be some goodness to share from that a little later on.

Sunday, August 1, 2010

Future Perfect meets Present Indicative*

Confession time: City traffic scares me. It's bad enough that I didn't learn to drive until after the ten-feet-tall-and-bullet-proof stage of life, but I've also never lived in a city larger than the La Crosse of the 2000s or Eau Claire of the 1990s--whichever is bigger. So there was a certain amount of bravado involved in your faithful blogger plowing to and from the Twin Cities this weekend--and, in all liklihood, in Dennis riding shotgun besides. Fortunately, we had better directions (from the road construction perspective) for the return journey. Yet having to stay relentlessly on point through the metropolitan area was frustrating enough that I grumbled to Dennis, "They can't invent transporters soon enough for me."

He--being a truck-driver's kid--seemed to find that funny. But it started me thinking "What if?" That's where the long stretches of MN State Highway 52 and I-90 kicked in. Whoops. Looking back at the evolution of the "Star Trek" weltanshaung through the franchise's five incarnations, it seems dubious (at best) that the transporter could have possibly been invented before the replicator. Humor me by thinking about it for a second or twelve: A replicator merely converts (stored) energy to matter according to some template. A transporter, in contrast, scans matter, maps it to template, converts it to energy, transmits it (plus the scanned template), then reverses the entire process at the destination point.

The relative differences in complexity alone argue for the precedence of replicator over transporter, don't you think? Then, when questions of liability are introduced, the disparity in liklihood becomes so much steeper. The worst-case scenario of a replicator fail is a pile of goo. Possibly toxic, true, but building scanners and shields into the dispenser unit should minimize the fallout by however many nines are economically feasible. Transporters, on the other hand, don't get a second chance with precious cargo. Up to and including red-shirt extras who don't have last names. ;-)

But--lest my gentle reader consider this an exercise in angel-counting (quantum interpretation found here)--I will note that, at least in 2010, replicators seem to be leading transporters. Either one would be an epic (and not in the cant, trite sense of the adjective) game-changer. In each case, don't hold your breath...but don't blink either. Such are the times we inhabit. (Wheeeee!!!)

- - - - -

* English major flashback: I can't cite the exact source, but I would be remiss if I didn't give credit to the unknown (meaning, unremembered by me) journalist who summarized one of Ronald Reagan's State of the Union Addresses (1986, 1987 or 1988--I forget which) thusly: "For the President, future indicative is past perfect."

A warning from four centuries past (belated Saturday post)

My best friend H. knows about my lapsed fondness of calligraphy not-so-lapsed passion for history and books. I think some of it might've rubbed off on her, so up we went at her invitation to see the MN Science Museum's Dead Sea Scrolls exhibit, followed closely by the 1602 map of the world created as conceived by a Jesuit missionary to China, Matteo Ricci.

The scrolls exhibit dumped out into one for which I wasn't forewarned, the St. John's Bible, which is a fully hand-written, hand-illustrated and hand-gilded copy of the Bible. It, like its prececessors, is constructed for the ages, using the same materials as those behind glass and is every whit as painstaking in craftsmanship. Seriously, I'm embarassed to own nibs and ink after that.

Fast-forward about a half-hour on Saturday to the Minneapolis Institute of Arts and the examples of Western printing's first century on display beside Ricci's formidible (if sometimes incredibly fanciful) work. Clearly, the cost of producing the written word--religious and secular--had plummeted. Yet I had to smile at the insistence on color. Perhaps the scholar or the marginally prosperous could be content with black and white line illustrations, but anyone who could afford it would not part with the pigments that brought the illuminated manuscripts to life.

But the quality wasn't exactly even. Most examples were easily the equal of their ancestry. The paintwork on the geographical (I think) treatise was downright shoddy--not even staying close to inside the lines in some cases. Brushes are contrary and intractable things in my hand, but even I could have done a better job. I imagine that the book was mass-printed and mass-colored for a mass-market, with no thought for anything but supplying the demand of the moment. That it was preserved for four centuries and change was merely accident.

The realities of our digital age are a mixed bag by comparison. Servers and gadgets are comparatively inexpensive, which effectively whittles down the chances of preservation. Yet the cost of replication and transmission are dropping every day, which ups the liklihood that a copy of something will exist. I can't guess as to whether these two factors is stronger. But the idea that my work--code and/or writing--could someday be passed around in archaelogical or other scholarly circles is sobering. When it doesn't make my toes curl. Granted, it probably wouldn't be the worst thing to work as if future centuries were looking over your shoulders. But I certainly can't call it a comfortable thought.