Pencil Icon

The difficulty in removing software artifacts

As software advances, programmers become more aware (and less apt to include) artifacts of past programs.  My favorite example of this evolution is the “save” button.  There’s no intrinsic need for it anymore—developers have been building software for years that saves every keystroke—but there’s no denying that I’ve developed a behavioral reliance on the button.  If I don’t see it when navigating away from a page I’ve changed, I feel uncertain.  I worry that my changes are gone, and sometimes I even will go back to check that my changes were in fact saved.

Why does this happen?  Logically, I know my computer can save without my telling it to.  But I’ve developed a mechanical association here: I hit save, the computer writes.  To my mind, save (digital) = put it in the drawer (analog).  Leaving a page without hitting save feels to me pretty much the same as leaving my desk without putting away a page of handwritten notes.

So for me, at least, adding the ability to save a document in real-time (without my direction) doesn’t streamline my experience, it makes it more uncertain and slow, what with the hesitation and additional checking that it was saved).  But removing the save button is progress.  The button is, at least technically, unnecessary.  How, then, can developers replicate the feeling of security I get from hitting “save” without, you know, having me hit “save”?

My suggestion (and it’s not a great one, it may not even be original, but I think it’s the right idea): include a small piece of text in the bottom-right where the save button usually sits. This text will say (in red) “Changes not saved” when the user is typing, and a second or so after the user finishes typing will switch to (in green) “Changes saved”.  Yes, it’s technically unnecessary, but it’s behaviorally reassuring, and that’s what matters to actual users.  Streamlined engineering does not always equal enhanced usability.

Hulu’s doing great work.  When emailing a video from Hulu, you can use sliders to choose the start and end times for the clip.  It’s possible at Youtube, but only with a url hack.  Hulu’s solution is simpler for the user without sacrificing any utility.  It’s better.

Side note: Here’s the video I noticed this on.  Not quite Impossible is the Opposite of Possible, but pretty damn funny.

Pencil Icon

TiVo vs. Boxee - Where Everybody Wins

TiVo released a new product this week called TiVo Premiere.  At first glance, it looks like a direct competitor to the Boxee Box. I can’t wait to try it.

When I got my TiVo Series 2 in 2004, it meant that I was finally able to watch Arrested Development without skipping class.  This was a new world.  It should have been the start of something big.  Video, like a book, could suddenly be put down or picked up at will.  My TiVo became a virtual library in the same sense of my book library: it held the content that shaped me.

Unfortunately, this was not the start of something big.  The FCC tried to foster competition with CableCARDs, but their supportive regulation was lame at best.  It was easier to steal food from a rottweiler than to get your MSO to send you a CableCARD.  Add in a deluge of lawsuits related to commercial skipping and rebroadcast rights (apparently we hadn’t laid this bugaboo to rest with the VCR/Betamax suits of the 1980s), and instead of innovation in the DVR market, we got stagnation and frustration.

Here’s the craziest part: the UI on my Series 2 TiVo (circa 2003/4) is still faster, easier to use and more beautiful than any DVR UI I’ve used since (including Optimum Online, Comcast, DirecTV and Time Warner).  Based in Linux, it featured transparent overlays (so I could browse programs and watch TV at the same time), simple season pass setup and an alphabetical listing of my record programs.  I just named three features that most DVRs today still lack.  Go ahead and ask any TiVo user how they compare TiVo’s interface to Comcast, Time Warner, Optimum Online or DirecTV.  I don’t care if they haven’t used a TiVo in five years, they’ll still laugh at the question, because quite frankly, there is no comparison.  TiVo was better than these current products seven years ago.  The MSOs should be ashamed.  So should regulators, but that’s a matter for another post.

Luckily, the tide in television content delivery is finally turning back toward innovation.  After years without commercial progress (MythTV, XBMC and other open-source alternatives did continue to flourish thanks to a dedicated and vibrant community of developers), a few startups have begun rolling out worthy successors to TiVo’s promise.  Boxee, with its beta release, was the first to take a leap forward.  Indeed, the first time I used Boxee Beta was the closest I’ve come to recapturing the feeling I had the first time I used TiVo.  The feeling that, yes, of course this is how TV is supposed to work.  How many products have given you that feeling of wonder?  I can’t think of many.

It’s no exaggeration to say that TiVo turned me from a reader to a viewer.  There’s only so much time in the day, and if I have to spend most of my time in a channel ignoring or filtering the content it delivers, I’m ejecting.  TiVo made broadcast TV personal to me in the same way novels were.  Boxee Beta did the same with internet video.  It looks like TiVo wants to deliver the same experience again.  I don’t know if it will win the space, but I can’t wait to watch the competition.  I’ve been waiting since 2004.

Pencil Icon

Searching for a more efficient onscreen keyboard

Because I run Boxee off a Mac Mini, my main interface with the software is the Apple Remote.  As a result, whenever I want to search for a program, I’m relegated to keying in names letter-by-letter via the onscreen keyboard.  This, we can all agree, is a pretty significant pain in the ass.  I know Boxee and TiVo agree—that’s why they’re releasing new remotes with built-in keyboards.  But at least for Boxee, not everyone who uses the software is going to have the new remote.  So it’s worthwhile to explore how to make the annoyance of onscreen text input into less of an annoyance.  Here’s my take.

Boxee’s current setup is an alphabetical keyboard laid out in a 6x5 grid.  You key a letter, then move on to the next.  This is the classical way to approach the problem.  Sure, some use QWERTY and others play with different grid sizes, but all approaches are fundamentally linear, and that’s not ideal.  Ideally, you’d develop a new keyboard layout optimized letter distances.  But people have neither the time nor desire to learn a new keyboard layout (exhibit A: the Dvorak keyboard).

Current Layout

This is Boxee’s current layout.  The * is where you enter into the field.  ‘_’ is spacebar.  Excel helps to quickly map distances between letters, measured by number of directional clicks required: A to B = 1; A to H = 2; P to S = 4.  And so on.  Now let’s assume that it’s usually enough to enter 5 letters to locate a show (i.e., after 5 letters are entered, the list of possible shows is down to one screen’s worth).  Counting the clicks required to key in the first 5 letters of a few Boxee favorites—Lost, The Daily Show, How I Met Your Mother, Dollhouse, Caprica)—it takes an average of ~3.4 clicks per letter (stdev of 0.8).  But that’s a small sample.  We can get the global average from the distance map (spoiler: it’s 3.4).  Seems pretty good.

So my two hypotheses for improvement: 1) separate the vowels; 2) recenter the cursor after each click.

Option 1: Separate the vowels

The Dvorak keyboard separates vowels from consonants; this makes intuitive sense—vowels and consonants represent two groups of characters that tend to alternate in words.  At least one sufficient explanation for Dvorak’s failure to catch on was the hardware entrenchment of QWERTY.  That dynamic still holds.  Clearly, radical changes in key placement won’t fly—people know QWERTY and alphabetical, and that’s a state of nature.  But if we drop the vowels to their own line and leave the consonants in alphabetical order, the result doesn’t offend our keyboard schemas all that much.:

Using the testing method described above, we get a sample average of 3.6 clicks per letter (stdev of 0.8).  So, yeah, that’s worse.  Well…it was a fun hypothesis.

Option 2: Recenter the cursor

When you play whack-a-mole, you keep the mallet centered; you don’t leave it on the last mole’s hole while you wait for the next one to pop up.  Applying that logic here: what if we kept the alphabetical layout and set the cursor to recenter on ‘O’ after each letter input?  With this new condition, average clicks per letter decreases from 3.4 to 2.3 for the sample (2.6 globally).  Stdev decreases from 0.8 to 0.3.  That’s a ~33% more efficient process with 1/4 the variability—by definition, a better process.  So long as you believe the efficiency gains outweigh any confusion, then this represents a better process.  If it takes 20 seconds to enter a title, and a user averages 5 title entries per day, the amount of time that user spends inputting titles in a month drops from 50 to ~33 minutes or about the same amount of time it takes to watch a TED talk. That’s real time.

Charts!

Here’s a probability distribution of the global key mappings:

More efficient = larger lumps further to the left. You can see that recentering yields the best distribution of direction key presses per letter.  And I believe (though I could be wrong) that users would adapt almost immediately to cursor recentering.  If that’s true, this tweak worth considering.  Does it make a huge difference in UX?  No.  Will it make lovers out of haters?  Nope.  But it makes the UX more pleasant at minimal cost.  To me, that’s always worthwhile.

Pencil Icon

Palm releases plug-in development kit. Yet another smart move on the software side.

I love what Palm’s doing these days. Their hardware design suffers from poor materials, and they can’t yet put together a complete buying experience like Apple, but their software and development side is absolutely stellar.

I’ve been incredibly impressed with how much webOS improves with each version.  The updates come fast, and they’re typically addition by streamlining (a more integrated call log, better power management, new APIs).

Even more impressive: how wide they open their arms to developers, especially gaming developers, who must enjoy how open Palm makes its OS.  Apple’s proven that the app ecosystem drives a device, and Palm’s doing everything possible to develop an ecosystem. Hell, they’ve even put out a browser-based graphic development environment.  And yes, Apple had the advantage of iTunes, but people will soon enough get comfortable buying mobile apps outside of a central storefront.

The iPhone is not going to be the only development platform forever and the mobile phone space is only getting larger.  If the app ecosystem drives success, Palm’s software development side is doing everything possible to lay the right foundation.

Pencil Icon

How do you represent ‘gluten free’?

Found this on a dinner menu tonight.  Sparked some good conversation around what symbols would most clearly convey their associated message.

Gluten-free already has a few attempts at a universal symbol: .  I had no idea, but it makes perfect sense.

Vegetarian too: . Both use a ‘v’ shape, but how universal is that?  I guess you could adjust the stalk shape to fit any character form, but that’s still not language independent.

I can’t find a universal symbol for contains nuts, which seems strange given the attention to gluten-free.  Aren’t peanut allergies more dangerous?  I don’t know, but it always seemed that way to me. The closest I could find was at kidswithfoodallergies.com.  It’s actually a pretty good start.  Using the peanut shape and no symbol gets the point across very well.  But I think an ideal universal symbol works across all languages, cultures and print capabilities.  If someone with artistic talent can convey a peanut in monocolor (minus the arms and legs), I’m on board.  This and gluten really deserve a solid symbol.

For garlic-free we thought a cross would work better:  , you know, because of vampires.  Why not?

Using the infinity loop for sustainable works great.

Pencil Icon

Would Kmart buy ad space inside a Walmart?

Probably not.  But isn’t that the brick-and-mortar analogy to this:

That’s right, Amazon now places product ads from external websites on their product pages as a CPC ad service.  Here’s my question: is this the most valuable CPC ad space for CPG manufacturers on the internet today?

I actually don’t know the answer to that question, but I suspect it’s so.  After all, buying ads for “baseball” on Google is as likely to serve to someone looking for information as to someone looking for an actual baseball.  But people surfing Amazon are pretty clearly in the market for purchase, which makes these ads ultra-valuable.

It’s easy to see why Amazon would do this.  They position themselves as the low-cost, low-hassle, large-selection merchant.  To meet these goals, they need to know what their competitors are offering and for how much.  By hosting these ads, Amazon gains frictionless access to competitor offerings and pricing information.  In essence then, Amazon’s competitors pay Amazon for the privilege of providing Amazon with competitive intelligence.  And these merchants are willing to do it because Amazon, more than any other portal on the internet, is where people go to do commerce.

Pencil Icon

Human or Furball?

I love this toggle.  If the red-eye toggle depends on the software’s ability to distinguish an eye from the surrounding area, then the color/texture of the surrounding area is required information.  So why not ask in the most common-sense language possible?

btw, that’s my parents’ dog Lexie.  She just turned one (note the tiara)

Quote IconSo what I’d like to see in the National Broadband Plan is to make that entire 500mhz available as unregulated spectrum where anyone and everyone can build technologies, devices, markets, and businesses in it.

Fred Wilson - The National Broadband Plan

Couldn’t agree more.  I forwarded a similar idea in a telecom law final three years ago (shout-out to my professor and thesis adviser, Tim Wu for developing a great class/exam).  The question, derived from the newly announced wireless spectrum auction, asked us to develop an allocation plan for the 700 MHz spectrum (previously used for tv broadcasts).

Looking back over my exam (the wonders of gmail), I still agree with what I wrote:

"Telecom regulation should endeavor to push three goals: (1) scalable, high-capacity access points, (2) strong, cost-effective peripheral connections, and (3) efficient distribution of frequency for the benefit of the public at large … To use a simple analogy, the government should act as if the wireless industry were a highway, setting out lanes and using its regulatory powers in a manner that incentivizes the creation of efficient vehicles and a network of accessible, usable, cost-effective filling stations.
"[To that end, a portion of the spectrum should be set aside and] maintained by the government according to open source, net neutral protocols, and offered free of charge … In this way, innovation at the edges will be privately funded, either by telecoms seeking a competitive advantage or consumers seeking a better way."

UHF television generally occupies/occupied the 470-870 MHz range.  This range is great for broadband for a few reasons: 1) it’s already allocated to a consolidated purpose; and 2) it strikes a nice balance between data capacity and signal robustness. I hope the government adopts a plan similar to Fred’s proposal. Radio spectrum is a platform for innovation that belongs in the public domain.

Pencil Icon

Why does it take two to Bump?

Before payments take over the web, we need to address the issue of lost passwords (thanks to Matt Mireles for the pointer).  Amazon has tried a bunch of stuff to overcome this issue: 1-Click and PayPhrases come to mind.  But what if the answer isn’t decreasing virtual friction?  What if the answer is creating a virtual payment process that is physically (and behaviorally) natural?

Bump Technologies has an interesting product.  When you want to transfer information between iPhones, you bump them together (gently), and thanks to the magic of accelerometers and 3G, data is exchanged.  What I love about this product is that it uses physical actions to trigger virtual action in a natural, mechanical way.  Bumping fits into the mental schema we have for handling physical data, and that makes it easy to understand and adopt.  The other day, PayPal introduced a new app that allows people to “bump” money to each other.  The app thus marries the mental schema of a physical act to a virtual action.

But why do you need two people to bump?  Why can’t I use bump in the same way I use my credit card, except for online shopping? 

Here’s the use case: I find a new tv to buy at bestbuy.com.  I head to checkout, where I’m presented with payment options: Mastercard, Visa, Amex, Bump.  I choose Bump and enter my PIN (or billing zip code, or any other short, personal identifier stored somewhere other than on the actual phone).  I then bump my computer.  Bump’s servers connect the dots (act of bumping + PIN) and voila, payment made.  Receipt’s in the email.  In action, the process is no different than handing over my credit card to the cashier.  It feels natural in a way that entering numbers doesn’t.  It feels like the way things work at the store.

I’m out of time, but I like this idea.  Bump shouldn’t limit itself to being a medium of exchange between mobile devices.  Its greatest attribute is that it creates the expected virtual response from a common physical action.  It would make sense to a child, and to my mind, that’s the mark of good technology.