Tag Archive for 'Software'

A time lapse at Newark

Had to take a flight out of Newark airport on the morning after the move from daylight saving to winter time. The preceding evening I took good care to set my alarm clock and wristwatch back the required hour, and took off to the airport in the morning. And when I got there, I was amused to see the many and wonderful electronic displays that are all over the place all showing an hour late.

Now, these boards and clocks are all computer controlled, and you’d think they’d let the computers handle the time shift; my own Notebook and Smartphone both did without human intervention. But even if they installed systems based on human clock-setters, like they did with the big clocks of earlier eras, surely they could’ve done the job right – and, if not, corrected the mess when it became all too visible in the morning?…

We aren’t all noobs!

One gripe I have with the help systems in many consumer software applications: they’re written with the assumption that we users are all clueless newbies.

Take the Microsoft Office tools: they have many advanced and powerful capabilities; it is both interesting and useful to know what exactly they do. But the Help system only gives you the step-by-step “How To”. Say you want to try the Auto-Summarize feature of MS Word, and are curious what exactly it does (I mean, beyond automatically creating a summary). How does the feature work? What algorithm is involved? How does it identify the important parts of the document? Knowing this is not only interesting; it can let us users know what to expect, and how to use the feature better. But all we are served is a sequence of steps like

  1. On the Tools menu, click AutoSummarize.
  2. Select the type of summary you want.

And so on. Necessary and useful for the computer-naive types, but not sufficient for the technical or curious.

I sometimes imagine the day when I’ll run into a button (perhaps in Word 2015?) that says “Stop world hunger”, and when I check it up in Help it will only say

  1. To stop world hunger, click the button Stop world hunger.

C’mon, folks, you develop awesome code – let us know what is going on behind the scenes. At least give us a link to this information after the stuff the noobs use is listed…

Google Mail attachment guidelines: tell it like it is!

I sent a friend an email with an attached Zip file. It bounced, with a message from “System Administrator” that read

Your message did not reach some or all of the intended recipients.

Subject: xxxxxxxxxxxxxxxx
The following recipient(s) could not be reached: xxxxxxxxxxxxxxx …

552 5.7.0 review our attachment guidelines. u14sm9443132gvf.20

I figured maybe the note is from my friend’s system – maybe the file was too large? So I resent it to him to another mail address, with the same outcome. Then it occurred to me to mail the file to myself… long story short, eventually I went to the source of all wisdom – ironically, Google – and discovered that Google Mail, through which I was sending, has a policy forbidding any zip file that contains an executable (which my attachment, quite lawfully, did).

So I sent the file via yousendit, and that was that. But it did occur to me that I would’ve saved a lot of time had Google Mail elected to phrase their bounce message in human-friendly informative terms, such as:

Your message did not reach some or all of the intended recipients.
– – –

It was blocked by GMail’l outgoing mail server, because it has a zip attachment containing an executable file. GMail does not allow this. For more info, see http://…..

Not as succinct as u14sm9443132gvf.20, but rather more useful, don’t you think?

A thoughtful little feature in my text editor

PFE Editor Print DialogI needed hard copy of a paragraph from a long text document, so I opened it in my trusty old editor (Programmer’s File Editor by Alan Phillips, a powerful freeware editor I use in lieu of the pitifully rudimentary Windows Notepad). I selected the paragraph and opened the Print dialog, recalling that there was an option to only print the selection. The option was there, a radio button sandwiched between those for All and Lines from ___ to ___ . I moved to click it – and realized it was already selected for me.

This is far from a big deal, but I really liked the thoughtfulness that Mr. Phillips had put into this feature. The editor saw I had selected a piece of text; it stood to reason that I wanted to print that text, and not the full document. Features where the computer tries to read the user’s mind can lead at times to unexpected clashes of will, but this one was all goodness.

And compare it to the behavior, in the same situation, of Microsoft Word: you can print a selection, but if you forget to click the radio button you end up sending 50 pages to the printer. Happened to me many times…

Help is also about what can’t be done

Working in Adobe Photoshop CS4, and I just bumped into a menu item I needed that is grayed out. This does happen: Photoshop has a huge wealth of commands and capabilities, and many depend on the context – for example there are things you can only do in RGB color mode and not in Indexed color mode, and so on.

However, because things are so rich and full of complex dependencies, it is sometimes impossible to figure out WHY a given command is unavailable. It can get quite maddening, in fact. So, here is an idea for the folks at Adobe to consider:

When there is a grayed out menu item, please add a tooltip or status line tip or some such that says “This command is unavailable because…”

This would make life so much easier for us. You’ve put considerable effort into providing help for things that we can do, so also give us some advice when we can’t do what we’d like. Of course this is very context-sensitive – the command may be unavailable for a variety of reasons, and the program knows, internally, what the current reason it.

I can think of one software product that does this, though not on a computer: the TV PVR box we have, provided by Hot cable company, announces every now and then that you can’t preset a recording because there are already two others overlapping the same time slot. But it doesn’t just refuse to record; it announces on screen “to record program X you must cancel one of the following two programs [Y and Z]… please select which one to cancel, or ESC to exit”. It explains the issue and it immediately allows you to fix it.

The same advice applies to a variety of products, not just Adobe’s, of course!

Automated customer service…

My account on a social networking group froze me out, so I wrote their support an email explaining that I can’t log in, with details of how this came about. I got a wonderful reply indeed:

Please follow the following steps:

1. Log in to your account

Wonderful! I replied “You’re joking, right?” and reiterated the situation. This time I got a reply from a real human (she signed it with a name, not “The help team”) who politely apologized for the automated response and proceeded to help.

So, instead of blogging about a silly support person, I’m blogging about a silly automated surrogate of a support person. Of course it’s hardly news that machines shouldn’t be trusted with solving our problems – remember:

Dave Bowman: Open the pod bay doors, HAL.

HAL: I’m sorry Dave, I’m afraid I can’t do that.

Oh well… all’s well that ends well (though not for Frank Poole).

Use consistent terminology, WebEx!

Used to be, at the beginning of every (face to face) meeting ten minutes would be wasted on getting the slide projector going. Today many meetings are virtual, but the same time is still wasted while people try to log into the shared meeting workspace…

A case in point: I’ve just participated in a meeting using WebEx to share documents across the world. Nice. But the meeting started ten minutes late, because it took me that time to wade through the invitation email and figure out what I had to do. Now, I’m not perfect, but I’m an experienced IT engineer… so what was this delay about?

The meeting invite email (which was quite lengthy, and included no less than seven links, of which I only needed two) told me to dial into a tollfree phone number to join the audio part. When I did that I was cheerfully welcomed by a machine that told me to dial my “access code or meeting number followed by the pound sign”. I started to scan the email frantically looking for a meeting number or an access code; none were to be seen. The message contained various long numbers, mostly inside the link URLs, so I tried those in random order. The one that finally worked was the last one I tried (naturally) and it was the number the message referred to as my “Session number“.

So yes, maybe I’m naive, but if they want me to dial a session number, couldn’t the recording say “Please dial your session number“? Or, better yet, “Please dial the session number found near the top of your invitation email”?

Gotcha, Google translator!

I was checking some French using Google translator, and discovered that – contrary to my French teacher’s insistence  back in high school – “La langue Francaise” means “English language”!

Of course one doesn’t expect perfection from machine translation, but this was different than the usual silly mistakes: a translation program ought to know the meaning of the name of a language it translates, after all. So can it be that Google, in its staggering growth to encompass all knowledge, has finally reached true intelligence and reasoned that the above translation is correct on some higehr level – the way Douglas Hofstadter pointed out in his immortal “Godel, Escher, Bach” that “Borscht“, when translated from the Russian, may need to be converted to “Campbell soup” to convey its ubiquity in the respective culture?

Nah… not likely. I actually played a little more – for instance, “La langue Francaise” in Italian, according to Google, means “Lingua inglese“, not “Lingua Italiana“. I suppose by posing such questions to the program one could map where the problem lies in its cognitive functions, like one tries to localize brain damage in a patient by mapping input/output relationships in an interview. So is Google Translator a conscious entity after all, albeit a brain-damaged one?  🙂

The confused calendar of my E71

Here then is my sleek Nokia E71, and I really like it overall. But nobody’s perfect, right?…

Nokia E71 smartphoneTake the calendar application that came on this handheld. It has a number of shortcomings (more on these later) and one amusing quirk: most of the time when you click the calendar button it displays an empty screen with the phrase (no entries) at the center. Then, less than a second later, the actual entries for the day (in my hectic life, alas, there are always entries…) show up.

Obviously there are two routines involved, one to query the database for entries, the other to display “no entries” if there are none. It would take a minute to code it so the second routine would wait for the first to complete before shooting its big mouth off… and it would take the most rudimentary QA to discover this issue.


Semantinet’s headup

Well, many friends asked to stay current on my adventures outside the cubicle farms, and though it’s early days, here is one thing I’ve been up to: I spend one day each week working with a start-up called Semantinet.

It is an attribute of start-ups that they both empower and expect every person in their small team to contribute directly to the main thing, which is the application of innovative technology to create magic. You work hard, but you can really make a difference, as explained by Paul Graham in his insightful book Hackers and Painters. I like it a lot.

Semantinet headup logoSo, what magic do we make there? Semantinet, as the name hints, applies leading edge semantic search technology to enable a whole new manner of experiencing the web. Its product, headup, is a Firefox add-on that identifies on pages you browse names of entities like people, places, events, books, musical artists, videos, and more; and it shows you on demand a small window with additional information on any of these.

The additional information can be general – like financial data for a company, or albums and tracks for a band. But things get interesting once you personalize headup by pointing it at your accounts in social sites like Facebook, FriendFeed, or Last.fm. Then, headup starts surprising you with information like “your friends that work at this company”, or “upcoming concerts by a band you like in this city”, or “books that both you and this person like”, or “mutual friends you both know”. I call it a “Serendipity Engine”: you never know what it will discover. How does it know? By correlating information that you and others had published in any of numerous social sites. And because Semantinet is a start-up and works at the pace that this enables, new capabilities are added to the product literally every day.

If you use Firefox, give it a try – the application just went out of stealth mode and into public beta last week so you can download it at headup.com. And do share with me any comments and critique – at this early stage you, too, can make a real difference in the evolution of this magical product!