Recently in User Interfaces Category

When performing a find and execing a grep on the results (scenario: searching for a string in all files in a directory and all subdirectories recursively) on Solaris, it has always frustrated me that the output shows matches but doesn't identify the filename that the match occurred in.

$ find . -type f -exec grep string {} \;

horse
horsefeathers

I've worked out a couple solutions that were cumbersome and kludgy when I recently came across a simple, direct solution to the problem.

In Solaris, when you grep for a pattern in one file, the grep command doesn't output the name of the file a match is found in. There is no option to force the display of filenames (like -H in Linux) so you are left to engineer a solution yourself. The best solution I've worked out involves providing a second filename (/dev/null) to the exec'd grep command, forcing it to print out the filename a match occurred in, when a match occurs.

$ find . -type f -exec grep string {} /dev/null \;

./filename1:horse
./filename2:horsefeathers

Problem solved and the solution is cross-platform.

I didn't see this anywhere in the owner's manual, so I thought I'd jot this down for the other XTi owners (not sure about the XSi, but I'll bet this feature is on most Rebels from the last generation or two.). Once you've chosen an Auto Exposure Bracketing (AEB) range, you can use the Aperture/Exposure compensation button (Av +/-) on the back of the camera in combination with the main dial to "slide" your chosen AEB range up and down the EV scale ( -2..1..0..1..+2 ). You'll be centering your AEB range within the range of -2 and +2EV, so if you are using -1/+1EV AEB centered on -2EV, your range would be -3EV to -1EV. With -2/+2 EV AEB range, you can go from -4EV to +4 EV.

Now the nagging question: Canon, why limit us to only 3 exposures in AEB? There doesn't seem to be a reason we could have 5 or 7 or some other configurable number of exposures? Also, why not allow us to select a wider AEB range? When shooting for HDR, I need to take consecutive shots without moving the camera. I'm already using a tripod and wireless remote, but if I want more than -2/+2EV, I have to stop, change the settings (thus moving the camera) then continue, hoping I didn't move the camera too much and complicating post-processing. Why not allow -3/+3EV or -4/+4EV spreads on the AEB range (keep in mind my earlier suggestion of more AEB exposures in a given range.)

This one is for you Charter (and every other cable company I've ever had.) Why can't the cable companies normalize the volumes of all their channels? I know there are variations between programming and advertising volumes, but when I switch from channel to channel, I typically either can't hear the channel or get blared out. I'm not typically sensitive to these changes, but I hate when I'm watching a program at night (kids sleeping) and I change the channel only to find myself in the middle of an action sequence in a movie with the volume suddenly twice as loud.

I know some TVs had volume normalization features (including automatically turning down the volume during noisy commercials) a couple years back, but why not eliminate the problem? Why not pick a volume range or maximum peak volume and adjust channels to the standard at the cable company's end of the technology before re-broadcasting the signal down their network?

In a product as carefully developed and mature as Microsoft Office Excel 2003 SP2, you'd think there'd be a nice way of intuitively removing multiple hyperlinks from a set of cells. The general thought process for designing this functionality would be something like:

  1. Select range of cells from which you want to remove hyperlinks,
  2. Right-click, then select "Remove Hyperlink(s)" option,
  3. Done.
This seems intuitive, heck, that's how you remove a hyperlink from one cell, why wouldn't multiple removes work the same way?

I recently received a spreadsheet with several hundred hyperlinks included on a key field that had me accidentally linking to a web page (along with being prompted for authentication every time) whenever I selected the hyperlinked field. Useful for someone, a major annoyance to me (click-Hold, BTW is the correct way to select a hyperlinked field.) I tried the approach detailed above several times with no success. The choice to "Remove Hyperlink" disappears when multiple cells are selected. I gave in and asked Microsoft Office Help how to "remove hyperlink" and got the following procedure:

  1. Type the number 1 into a blank cell,
  2. Select and copy it (right-click, select "Copy" option),
  3. Ctrl-Select the fields from which you want to remove hyperlinks (Shift-select or click-drag are also acceptable), release Ctrl or Shift keys if you are using them,
  4. Select the Edit menu, then the "Paste Special" menu item,
  5. When the Paste Special window opens, select "Multiply" under the "Operation" section, then choose "OK.
Who at Microsoft thought this was a useful, intuitive, or even understandable way of removing hyperlinks from multiple cells? It's almost as if some programmer's hack made it into the end-user's experience and no one noticed. Someone had to do functional test on this in Quality Control, right? Did it seem right then? I haven't used the newest Microsoft Office Excel offering, but I sure hope they've improved this bad user interface design. I'll add to this post tonight to comment on how OpenOffice deals with this task.

So I've been having a problem with my "Send To Flickr" Bookmarklet functionality on Flickr, and been in a foul mood about it. I finally got to the right person at Flickr who set me in the right direction and give me permission to post the javascript contents for the bookmarklet here.

"Send To Flickr" Bookmarklet Code:

<20050906 Edit>How Do I Use This?

Highlight the text in this box and drag it onto your "Bookmarks Toolbar" (Netscape/Mozilla) or ":Personal Toolbar" (Opera.) Optionally, you can manually make a bookmark. For the 'Location' field (Mozilla) or 'Address' field (Opera) paste in the javascript from above. (It needs to be copy-and-pasted as one line.) Then go load the page with the picture you want to upload to Flickr. Click on the bookmark(let) and it will list all images on that page. Click the image you want to upload. Login to Flickr if it asks you to. Choose "Upload To Flickr" button. Voila! Your file should be uploaded into your account on Flickr.

To make this really useful, add the bookmark to your "Bookmarks Toolbar" (Mozilla) or "Personal Toolbar" (Opera) under View->Toolbars, so you can use your bookmarklet easily while browsing. If at this point, you can't figure it out, please wait for Flickr's new Bookmarklet coming to a browser near you soon.

</20050906 Edit>

I believe this is the exact JavaScript from Flickr (they wrote the code, not me), but I can't guarantee it. It works correctly and YOU can scan through the JavaScript, there doesn't appear to be anything untoward in the code. Flickr is reworking their bookmarklet upload function currently, so keep an eye on their Upload Tools page (you must be logged in to use that link) and be sure to use their new bookmarklet when they post it. (I'll modify this blog entry when they do...)

</20070323 Edit>

I've stopped using YahooFlickr, so I can't verify whether or not this still works. I'll leave it here for history's sake, and in case anyone finds it useful. As before, this code came from Flickr, I do not support it or provide any warranty to it working or working correctly for any of your needs. Your mileage may vary, use at your own risk/benefit.

VLC Media Player

Anyone else out there tired of messing with junk video players that do everything but play the video you want to watch? They all work 90% of the time and leave you hanging the rest.

I've found the Golden Video Player: VLC Media Player
Get VLC media player

This thing has a library of useful features and supports Windows, WinCE, BeOS, and every version of Unix (Mac OS/X, Linux, Solaris, BSDs) you could ever want. It plays almost every format on one player, across multiple platforms, reliably. Wow! Did I mention it's free and the source code is available! As if this wasn't enough, it can also be used as a video streaming server as well.

The install on Windows platforms is absolutely painless. My install on Fedora Core 4 was a bit more challenging, but I finally got all the pieces together. I highly recommend using apt-get and making sure you've got the "dag" repository in your /etc/apt/sources.list file, then, as root, issue the command:
apt-get install videolan-client
(Note: not 'vlc'.) There will be a bunch of dependent packages that will tag along for the install automatically.

This is what Free Software is all about. This project sits on the shoulders of many other quality free and open source software efforts. No contribution is required, but if you'd like to contribute your time, materials, skills, or anything else the VideoLAN team, I'm sure they would appreciate it.

I've had my own domain since 1994 and always ran my own personal web and e-mail services on a personal server. Running a public server on the Internet requires some technical expertise and a whole lot of patience. You will be bombarded with spam, you will face script kiddies scanning your services trying to 'hack' your passwords, you will see the underbelly of the Internet that most ISPs effectively hide from their users. I particularly enjoyed running my own e-mail server and quickly implemented RBLs, spamassassin, pyzor and razor to keep the good mail flowing and the spam headed to /dev/null.

All has gone well for several years until my ISP decided suddenly to block incoming traffic on port 25 (SMTP) to my connection. Everything froze, all my personal e-mail was blocked from my server, all my friend's e-mail traffic to their domains I was hosting stopped. I don't run a high-volume e-mail server, but nonetheless the messages traversing it are very important to me. I never was given a good explanation for why my ISP suddenly decided to do this, but their fix was that I'd have to upgrade to a commercial account ($70+/month instead of ~$35/month) in order to run my e-mail server on my Internet connection. I capitulated to their extortion while looking for an alternative e-mail hosting solution. This is strictly personal e-mail, not commercial/business related in any way, so the $20/month to $50+/month solutions I was finding really didn't fit my needs. Recently, I caught wind of a hosted e-mail service that Google has been developing and would be beta testing. Bingo! Sign me up!

I've been beta testing Gmail for your domain (Google's hosted e-mail offering) for a little over a month now on my personal domain, and am very pleased to say it works great. It's based on their Gmail infrastructure and interface, so Gmail users have almost no learning curve. It offers the same great feature set (excellent spam blocking (it has caught 1,000 spams in the last two weeks, with no false positives), easy e-mail content searching, rich text composing, AJAX interface, the Web Clip bar (which can be disabled)) as Gmail with some capabilities to customize the GUI for your users (by inserting your logo instead of the Gmail logo.)

Setup was very easy, some changes are required to your DNS MX records (remember your password for your account with your registrar?) for your domain to point e-mail to Google's servers. Once this has been completed (and propagated) you can log into the management interface, setup e-mail accounts, e-mail lists (think aliases) and make some minor changes to the interface (choose a background color, include your logo.) Once you've created the accounts everything is ready to go, it works just like Gmail. If you have a larger domain, you can use the account import feature so you can batch create your user accounts by uploading a CSV spreadsheet of your usernames and passwords.

The Gmail model has been to offer free e-mail service by displaying relevant(?) ads on the right hand side of your screen according to the contents of the e-mail you are currently reading. They still do this, I still find it minimally intrusive personally. I'd like to know what kind of revenue Google gets for clicked-through Gmail ads in a year (click fraud notwithstanding.) When you open your Spam mailbox, the Web Clip bar displays Spam Recipie links. French Fry Spam Casserole, Spam Breakfast Burritos, Spicy Spam Kabobs, Spam Quiche. I don't touch the stuff, but I like it when a corporate giant like Google doesn't take themselves too seriously and can still have a little fun. When in the Trash, the Web Clip bar displays recycling tips...

Wish List for "Gmail for your domain":

  • For the beta test, each mailbox is frozen at 2GB, that's a lot of space, but why not let the mailbox size grow like other gmail accounts? That is one of your strongest features.
  • Allow for pattern definitions in e-mail addresses. (I prefer to use "speed-[sitename]@example.com" when registering an e-mail with a third-party website. Right now I'd have to define each and every e-mail address I create instead of saying deliver "speed-*@example.com" mail to my Inbox.) This is one of the benefits of having your own domain name. Google has mentioned they are looking at doing this.
  • Allow for a "catch all" bucket for all those "other" e-mail addresses that I have used over the years. Mail coming to my domain, unless it is determined to be spam, should be delivered to me. As it stands now, if I don't specify an e-mail address in my Google configuration, mail sent to the unspecified address (@mydomain) bounces. "Gmail for your domain" now offers a "catch all" e-mail address for your domain, an excellent example of the responsiveness of Google to their users' needs. It can be configured under "Domain Settings" once logged in to your administrative account.
  • Especially during the beta test: put a link to the support e-mail on every page! (I had to go back and re-read my beta testing agreement to figure out what address to post feedback to. Isn't this the point of beta testing?)
  • Announce your pricing structure for the future. It's a wonderful offering at it's current free price level (while beta testing.) How much will you charge afterwards? Keep in mind some of us are hobbyists, not commercial entities with big budgets, please.
  • Put back the "invite a friend" links on your hosted e-mail offering
  • Settle the issue of whether or not you will give user account information out to third parties and on what terms.

Right now Google's offering is in beta testing. They do have an "I'm interested" link at the bottom of their Google Hosted E-mail FAQ page. I've had the pleasure of telling my ISP where to stick their pricing and I've dropped back down into the reasonable price bracket (as opposed to their $70+/month commercial-account-because-your-host-your-own-email pricing.)

Overall, the offering looks excellent to me. It's been easy to use, as reliable a Gmail, and Google has been responsive to improvement suggestions. There are still some privacy concerns as to how and who Google shares their users' information with. If you run your own domain and are looking for e-mail hosting specifically, check out Gmail for your domain. Consider setting it up as a subdomain if you just want to test the service, so you can just direct mail from users@subdomain.example.com to "Google for your domain" while testing. This may necessitate signing up for the service twice if you decide to use it for your entire domain later, but gives you flexibility.

The Ultimate Gadget

I'm still looking for something that functions as all (or most) of these devices in one small, compact form factor. After seeing what Apple pulled off with their new iPod Nano, this shouldn't be too far off in the future.

This device should encompass the following functions:

  • Cell Phone
  • PDA
  • MP3/OGG (Vorbis) Player
  • AM/FM Radio with recording/scheduled recording
  • Portable Storage
  • GPS Receiver

I'm looking for something based off an open source operating system, like Linux. I'd prefer to have shell access (say, like my Linksys running Sveasoft's firmware.) and the ability to compile and run programs of my own (i.e. openly extend the functionality of this device through software.).

As a consumer, I am not looking for this device to have any sort of camera functionality. I would prefer the capability to transfer digital image files from a camera to this device either wirelessly or through a compact flash media.

This device should have a full mini keyboard (thumbboard?) and ideally support for external USB keyboard and mouse. It should be able to connect to available networks via Ethernet, Wi-fi, EVDO, Infrared, USB (1 or 2), and 1394/Firewire (400 and 800.) It should interconect and share data equally well on an PC/Windows, Apple, and Unix platforms and from digital cameras, digital video cameras and other data sources.

We're getting closer on some of these vectors:
Asus MyPal A636 GPS-Enabled Pocket PC

Does this thing exist yet? Feel free to add a comment...

Several of us at work have taken to walking for exercise and as seems to often happen, we start to compare notes on routes/times/etc. A few people went out and got pedometers, some of us haven't. I was curious if anyone had worked out a way to measure distances on Google Maps and was very pleased to find the GMaps-Pedometer site, a Google Maps hack that let's you lay out your route, will give you distances in miles/kilometers, shows an altitude graph, and if you include you weight, it will estimate your calories burned on your walk. On top of that, you can create a permalink that will store the route you entered so you can refer to it later or e-mail it to a friend. Definitely a fun and useful Google Maps hack.

Public Feedback to mkt10.com

I read about the "next generation" of job posting/searching sites and in particular was interested in one, mkt10.com, which purported to be taking a new, more effective approach to matching potential employees with employers. They've got a nice site with some basic Web 2.0 (AJAX) functionality, but when I tried to use the site, I started having problems. From my e-mail I (unsuccessfully) attempted to send to them:

I keep getting trapped in dead ends in your interface while trying to fill out the questions in "Step 2."

Please consider making your user interface more user-friendly by offering at least a "None" and "Other" option at each decision point with a chance to further explain the "Other" response. Forcing people to choose bogus responses to questions that aren't applicable or answers that aren't correct only muddies the waters of your database.

For instance your "What standards/methodologies did you follow" question lists a selection of standards and methodologies that I haven't used. I can't indicate "none of these" or "I have used Six Sigma" and am forced to stop answering your questionnaire completely (i.e. you lost a potential customer/user) or I can choose a bogus answer in order to continue to the next question.

Your site seems very interesting, and I'd like to list myself on it, but when I get stuck on the question flow with no way out, I'm just going to abandon my efforts to use your site.

This is a basic user interface design. You should never force a user to enter invalid data in order to successfully navigate your interface, it invalidates your data and frustrates your users. You should also always leave a user an easy way to opt-out or pass on optional questions, not force them to choose a provided, default answer when it is not applicable.

I tried to use the "Contact Us" link on their website to provide this feedback, but the e-mail address ( admin.mkt10@mkt10.com ) linked from there bounced my mail back with the following error message:

This is an automatically generated Delivery Status Notification

Delivery to the following recipient failed permanently:

admin.mkt10@mkt10.com

Technical details of permanent failure:
PERM_FAILURE: SMTP Error (state 12): 550 5.7.1 Requested action not taken: message refused

Oh yeah, you should also make sure you "Contact Us" link works so people can provide feedback. I hope this is just a beta site that is still under development. It looks promising, but has a couple significant road blocks to fix before it is ready for prime-time...

About this Archive

This page is a archive of recent entries in the User Interfaces category.

Software is the previous category.

Web is the next category.

Find recent content on the main index or look in the archives to find all content.