Redbox Bad User Interface

We got a promotion code for a Redbox movie rental somewhere, and I went to use it.
Evidently, the machine was not on its home screen when I got there, but on the search screen instead.  Consequently, the “rent with a promotion code” button was not visible.  I followed the only path available, which was swiping my credit card.  I expected a “promotion code” box on the checkout screen, but there wasn’t one.  Instead I got the dvd out of the slot.  Alice in Wonderland, if you want to know. <After this> the home screen came up, showing the “rent with promo code” option, but it was too late.
Well this is bad, I thought.  My first instinct was to just put the disk back in, but I decided to call customer service first.  They said you have to be on the home screen and I would be charged, but on the bright side, my promo code was still good.
This sort of thing enrages me, and I didn’t want to waste any more time on them, but Cathy said to call back and ask for a supervisor.
The new agent, (Hi Jessica!), gave me the same story, but kindly went off to fetch a supervisor.  I never got to talk to him or her, but they say they are fixing it for me, and will refund the dollar when I return the disk, and have cancelled the code.
Good – Redbox seems to be doing the right thing here, but it cost me a lot of time calling them, and it is costing them two expensive customer service calls.
Bad – The UI design seems wrong.  It shouldn’t be modal, with the customer having to choose between pay or promo before starting!  In my case, I never even saw the choice because when I got to the machine it was already on a search screen down the “pay” path.  It is possible some previous person left it that way.  I don’t know if there is a timeout back to the home screen, but adding one is the wrong fix!  A better design is to have the promo code screen as part of the checkout flow, where the “what is your email” already is.  Doesn’t even add a screen that way.
I’ll let you know if the credit doesn’t appear.  Netflix is starting to look better already, although we don’t watch many movies.

Texting

There is a gap in function between mobile phones and landlines.  Mobiles can send and receive text messages and landlines cannot.  This should be fixed.
Idea 1 – text messages for landlines
The network already has technology to send caller ID. The same signalling could be used to transmit text messages.  Caller ID works by sending an ascii character string to the phone between the first two rings. The signalling is at 1200 bps, and could last for three seconds, giving room for up to 450 characters.  Since texts are shorter than that, the central office could repeat the message for reliability, or we could add technology to let the phone acknowlege the signal.  The upstream ack could be modem tones or touch tones, which the phone can already generate.
Since current phones generally do not have good displays, and don’t expect text messages, this capability could be added to answering machines instead of phones.
* The answering machine could record the text for later display
* The answering machine could send a tone or modem acknowlegement
* In principle, the answering machine could have cell-phone like software to generate texts using T9 predictive keyboarding, or use a full keyboard.
* An answering machine with this capability could answer calls with a distinctive beep or tone sequence that inform the CO and equipment at the caller end that the capability to receive texts was present.
I know this is starting to sound like minitel!
Idea 2 – Texting <during> calls
I frequently call someone to get a phone number.  On other occasions, folks call me to get a number. We do this in speech.  The recipient has to write down the number or try to remember it.  When the caller is mobile, this adds to the danger of using the phone while driving.
Why not make it easy to send numbers during the call?
* If you press the keypad during the call, the phone will send touch tones.
* The receiving phone should detect this, and greatly attenuate the earphone path, so the tones don’t blast the ear, and should remember the digit sequence.  After the call, the phone could make those numbers available to dial.
* On the iPhone, and probably others, in the contact list there is a “share contact” button. This can send a contact via text.  If you try to do this during a call, the phone could send the number in-band as above.
* For landline users, an answering machine (as above) could listen in parallel to an arriving call and record such in-band messages.
Rich phone companies, send your licensing inquiries to me!

iPad and iPhone – open for a fee

There is a lot of grumbling out there about how the iPad and the iPhone are closed environments, and you can only run programs that are blessed by Apple, and available through the App Store.
It occurs to me that one is perfectly free to write software for your own use, simply by joining the Apple developer program.  You can download the SDK and write code anytime.  If you want to test the code on a real device, then you need to join the paid developer program, which currently costs $99/year.
As long as you don’t use pre-release features of the iPhone OS, you may even be able to share your source code with others.  There are lots of sites out there with code examples.
So perhaps the iPhone and iPad are not closed at all, you can run Apple approved software for no extra charge, but you can run anything you write for $99/year.

Chuck Thacker wins ACM Turing Award

This week Chuck Thacker has won the ACM Turing Award. This is good.
The best article I’ve seen is this one from Microsoft:
Microsoft Press Release on Chuck Thacker
I had the privilege of working near Chuck at Xerox and for him at Digital, back in the day.
I started at Xerox as a grad student intern in 1977, working for Ted Strollo in the Systems Sciences Lab (home of Smalltalk, Alan Kay, Chuck Geshke, and John Warnock).  My first project was a power line carrier communications modem.  I got to <use> an Alto, which was by itself a transforming experience.  Technically this project wasn’t that interesting, but it came out well enough that I was able to talk the lab into letting me stick around.
My next project was with John Shoch and the DARPA Bay Area Packet Radio network, which was a network of packet radios around the San Francisco Bay Area, at 100 to 400 Kbps.  This was in 1978, mind you, a few years before WiFi.  PARCs part of the project was to provide packet switching experience and my part of the project was to design the hardware to interface the Alto to the packet radios.
Rudyard Kipling said “An engineer can do for 10 cents what any fool can do for a dollar.”  Chuck Thacker, the engineer’s engineer, could do for 10 cents what a mortal engineer couldn’t do at all.  With the Alto, in the mid ’70s, that meant building a six MIPS minicomputer, 128 Kbytes of memory, 5 MB disk, and million pixel display, for $20,000 or so.  I got to know the innards of the machine fairly well, designing the BBN-1822 interface for the packet radio, and writing the microcode and device driver for it.  The Alto had extreme economy of design.  The CPU executed a 32 bit microinstruction every 170 nanoseconds, and “hyper-threaded” between 16 micro tasks.  The lowest priority task ran an emulator for whatever high level instruction set you wanted: Nova-like for BCPL, bytecodes for Mesa, and different bytecodes for Smalltalk. The other micro tasks were responsible for the Ethernet, the disk, the display, and whatever else got plugged in, like a laser printer controller, or a packet radio.
This capability let you design I/O device controllers that were much simpler than they had any right to be. The 1822 interface turned into a couple of shift registers and  a couple of PROM-based state machines, plus a modest handful of microinstructions. (Dave Boggs of Ethernet fame taught me how to build the state machines.)
I was pretty young then, and I didn’t immediately realize how amazing this was. I had designed things like a tape drive interface for an Interdata and a color display controller, that took up entire boards, but this stuff was <tiny>.  The whole Alto was like that.  The disk controller was essentially the same, all datapath and no control.  The disk microcode would wake up once a sector and ask itself “is this the right place to start transferring data?”
Alto: A personal computer
In 1981 I graduated, and landed a full time job in the PARC Computer Science Lab.  My project was building the Etherphone, and by then Chuck was busy building the Dorado, an ECL based personal super-mini.  I started slowly picking up Chuck’s design ethic:
“Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away” – Antoine de Saint-Exupery
In 1984 I followed Chuck and Bob Taylor to the Systems Research Center of Digital Equipment Corporation.  We had 24×80 dumb terminals hooked up to a VAX-785 time sharing system.  This was not the same thing as a personal Dorado at all.  The first main project was the Firefly (I think the name suggestion was mine, actually), a multiprocessor workstation built out of commodity processors.  The first version used the Motorola 68010. Chuck designed the hardware.  I wrote the boot rom code.  Around then, however, Digital came out with the MicroVAX chip, and we immediately started a redesign. The Firefly used a coherent memory system we called the “snoopy cache”, where each processor “snooped” on the bus traffic of the others to maintain a consistent view of memory.  This scheme and its variations became the standard way to build small scale multiprocessors.  I designed the MicroVAX CPU modules, Chuck designed the memory system and the display controller.  The display controller was another minimalist creation – replacing the “standard” Digital display controller with one that did more and took half the space.  He also threw in audio I/O, with, I think, two extra chips and some microcode.  A typical Thacker design element for the CPU modules was his choice of a two-phase non-overlapping clock system. This let us use Earle latches implemented in 15 nanosecond 16L8 PALs for all the control logic, without needing any edge triggered registers or causing much heartache about timing.
Firefly: a multiprocessor workstation
After the Firefly, Chuck turned to networking, building, in 1987 or so, a 100 Mbps local area network called Autonet. I didn’t work on Autonet much beyond design discussions, but I came away as coinventor with Chuck on a routing patent.  How cool is that?
Chuck’s next big idea, around 1988 or so, was to build a liquid cooled minimalist 200 MHz computer in a single ECL gate array.  Bill Hamburgen of the Digital Western Research Lab knew how to do the liquid immersion cooling. Phil Petit of SRC worked on the CPU design.  My piece was the level-1 cache modules, designed using 1K bit Gallium Arsenide SRAMs.  This was a lot of fun.  We never built it, because the project was overtaken by Alpha.
Digital’s Alpha chip was a technical tour de force.  Chuck’s idea was to build multiprocessor development systems around the chip, to speed Digital’s time to market, and just maybe, to encourage a bit more minimalism among the Digital engineering community.  At that time, the spec for Digital’s “BI” bus design for multiprocessors ran to some hundreds of pages.  Chuck’s design for the coherent memory bus for the Alpha Demonstration Unit was 13 pages.
The Alpha demonstration unit: a high-performance multiprocessor
I designed the I/O system for the ADU. It was built with ECL100K, power dissipation no object, but very fast, and very clean signals. Chuck designed the memory system, and Dave Conroy designed the CPU module.  Dave also embodies Chuck’s minimalist spirit.  he kept a copy of the classic 5 tube AM receiver circuit on the wall of his cube, with the caption “If you want a job here, remove a part from this design”.
All American Five radio design
Wikipedia Article on All American Five
The ADU project probably saved a year time to market for Alpha products, and accelerated around a billion dollars in revenue.
As others have noted, while Chuck is primarily a hardware designer “a humble purveyor of cycles,” he’s also an architect and programmer.  One time at Digital he got an early laptop, with TurboPascal, and immediately started writing cad tools for himself.
I’ve gone off in different ways in the last 15 years, but I was able to visit Chuck in his lab at Microsoft last spring.  I have to say not much has changed, he was busy designing logic for an Ethernet controller, only this one runs at a gigabit and fits in a corner of the BEE3 FPGA system.
I am very pleased at the ACM’s recognition of Chuck’s contributions. Now go back to your offices and delete some logic or code that doesn’t really add anything. You will be one step closer to perfection.
-Larry

Toaster Repair

My toaster only toasts on the outside, because the center heating element doesn’t.
No problem! I will take it apart.  Maybe I can fix it.
My toaster is held together by tamper resistant screws!
No problem!  I have a set of tamper resistant bits.
…but the screws are down inside holes that are too narrow for the bit.
What kind of state secrets are inside this thing?

wbshop.com

I don’t think I’ll be shopping at wbshop.com any more.  They have had some sort of massive logistical breakdown.
Back on Tuesday, February 9, 2010, I made an $82 order for in-stock items, with two-day air shipping.  Since I ordered in the morning, I expected delivery Thursday, but I would have been only moderately disappointed with Friday, since almost everyone says “two day” when they mean “three days”.
It is now 13 days later, and the order has not shipped.  I had received an order acknowlegement email, but the online system says I have never ordered.  The telephone customer support center says the order is fine and is “in processing” at the warehouse, but they are running “a little behind”.
The gap between reasonable expectations and corporate performance is large.
Here are a few notes and suggestions.

  • The website continues to show items “in stock” and “ships in one day”, when this is obviously not true.
  • The website does not show my order at all.  According to the call center people, it will only show up after it is shipped.
  • My credit card was charged at the time of order.  Maybe my impression that mail order companies are only allowed to charge when they ship is out of date.  I have made an inquiry.
  • There have been no emails or calls from wbshop reporting delays or setting expectations.

I know a modest amount about systems for e-commerce, since I wrote a book on the subject (Designing Systems for Internet Commerce).  I have a few suggestions on technical aspects:

  • The online system can show all orders, completed and pending.
  • The online system can show current status, and contain links to make inquiries
  • The website can contain correct information about product availability
  • The online system can send email updates when previous promises become inoperative
  • There does not need to be any difference if the user account was created at the end of the first order or before it starts. The order is tied to the account and should show online.

And  I have some thoughts about public relations and customer satisfaction

  • Transparency works.  When you have a problem, coming clean about it and providing the best and most accurate information you have is nearly always better than becoming defensive, failing to respond, or stonewalling.
  • For an online store, logistics is everything.  Amazon gets this right.  Wbshop does not.
  • Customers have blogs.  Those blogs are indexed.  Maybe I can add some special index terms.

So what is happening?   I got one customer service rep to go off-script and mention “500 orders behind” but I doubt that is right.  500 is not a two-week problem, it is a few person-days of work at most. That doesn’t explain an ongoing two week delay.
Update 2/26/2010
The order still hasn’t shipped.  I’ve learned a few more things

  • Discover card says it is up to the merchant to charge on order or on shipment.  Discover is happy to help me dispute the charge if I want.
  • A supervisor at wbshop tells me their practice is to charge when items are in stock, and hope they ship soon.  That obviously isn’t working well.
  • “Escalation” consists of sending an open-loop inquiry to the warehouse, with no expectation of hearing back from them.  As far as I can tell, there is no way for the call center to even find out if the order has simply been lost.

I was told Tuesday that the backlog should be cleared by “the end of the week”.  Here it is Friday afternoon and that has not happened.
The call center also has a music on hold system. It interrupts the music every minute or so to tell you “please continue to hold.”  This is a really bad design, since the caller has to shift gears to listen to the message every time.  It would be much better to have the music uninterupted.
Update March 1, 2010
I received an email from wbshop.com this morning:

Dear Lawrence Stewart ,
We deeply apologize for any inconvenience, but your order number xxxxxxx-00 has been delayed due to warehousing issues and we have been unable to ship the merchandise in your order. Please note that our warehousing issues have been resolved and we will be able to ship your order by no later than March 2, 2010. We will send you an email confirming when the shipment leaves our warehouse.
WBshop.com values you as a customer and greatly appreciates your business. We regret that this delay has occurred, and will be refunding $5.00 from your order number xxxxxxx-00 and will issue the refund to your credit card by March 31, 2010.
Please note if you have any questions about your order or charges on your order, please feel free to email us at service@wbshop.com or call our toll-free customer service number, 1-866-373-4389. Customer service representatives are available Monday thru Friday between 8:00 am and 10:00 pm (EST), and on Saturdays between 8:00am and 6:00pm (EST).
Also, you may always call this customer support number to cancel your order prior to shipment of the order to receive a prompt refund. If we do not hear from you before we ship your order to you, we will assume that you have agreed to this shipment delay.
Again, thank you for your patronage.
Sincerely,
WBshop.com

After 20 days, they are able to tell me my order is planned to ship by 21 days.
I have some suggestions.

  • Send an email immediately when does not ship on schedule.
  • If a new ship date is available, provide it.
  • In any case, provide a date for the next informative email.
  • If the original delivery date can be maintained by upgraded shipping, do that at no charge
  • If the original delivery date cannot be maintained, provide free shipping
  • Provide online order status for pending orders
  • Build systems that give the call center visibility into the warehouse. Maybe you don’t want to tell people “there are 1200 orders ahead of yours” via the web, but telling people angry enough to call is a good idea.  We’re angry, but we realize that folks delayed longer than us should be cleared first.

But, after nearly three weeks, stating with such assurance that you will ship by tomorrow is unlikely to be believed.
Update March 3, 2010
Good News!  Amazingly, wbshop did ship on March first.  I only know this because I called.  They did not send an email to say so.  How hard is it to send an email?  In addition, I got another email announcing a 25% off sale on the very items I tried to buy.  After another call, wbshop issued a credit for the difference.

John Mucci

I am greatly saddened to report the passing of John Mucci this past Sunday.
As some of you know, I have an affinity for people when I cannot predict what they are going to say. I am not talking about randomness, but about folks who have an approach to thinking that is unlike my own and a depth of insight I rarely reach.  John was one of those people.
I first met John in 2004 when I got started talking to Matt Reilly and Jud Leonard about SiCortex. John was perhaps foremost a salesman, but he worked not only to understand the technology but to understand it well enough to see how it would apply in new situations.  At first I was surprised that the CEO wanted to interview every prospective team member, but I came to treasure the hiring meetings afterwards.  Not only could I not predict his opinion, but his assessments made sense.
As far as I could tell, John knew everyone involved with High Performance Computing and usually on a first name basis.  Walking the floor with John at Supercomputing was an experience.  The mean free path between people he knew was about 10 feet.
Prior to SiCortex, John had worked at Digital Equipment and at Thinking Machines, where our paths almost intersected, as I worked elsewhere at Digital, and later Open Market took over space in Cambridge previously occupied by TMC. I mention this because of another similarity between Thinking Machines and SiCortex – both were well liked by their customers.  I know that John Mucci was responsible for the good regard folks have of SiCortex, and I like to think the same was true at Thinking Machines.
He will be missed.

More Hotel WiFi

At SC09 in Portland, I stayed at the Marriott downtown, which was a perfectly fine hotel, except that the restaurant and bar seemed to close at 10PM.  What’s with that?  WiFi was $10 a day.  As I’ve noted before, there is an inverse relationship between the expense of a hotel and the quality and ease of use of its Internet access.
I was in New York City two weeks ago, and stayed at the Millenium Hotel at UN Plaza.  Don’t bother.  They no longer have ice machines!  This is just such a basic requirement of hotels that… I can’t go on.  In any case, they don’t have WiFi, they have wired Ethernet for $12 per day.
A few days ago, I was in Baltimore and stayed at the La Quinta BWI.  The WiFi was fast, free, and easy.  These guys have it <almost> right.  There is a browser intercept screen, but it does not ask you to register. All it does is ask if you want to join their email list (no), and then it lets you on the net.  There was no problem playing You Tube videos, which usually kills hotel networks.
I was really quite impressed.
In any case, the inverse relationship still holds.  Millenium (expensive hotel and bad Internet), La Quinta (inexpensive hotel, free  and good WiFi). Marriott, somewhere in between.
I’ll note, however,  that you can see a <lot> of WiFi networks from the 36th floor in Manhattan.

Excellent Ad Placement

Ad placement is the problem of putting an advertisement in exactly the right spot so that the people you are trying to reach will see it.
This week I was at the Supercomputing conference in Portland.  The density of iPhones at the conference is very high.  One morning I fired up my Accuweather app to find out if I should bring the umbrella.  It is Portland after all!

iPhone screen shot
iPhone screen shot

This is outstanding ad placement.  You are looking for supercomputer geeks.  They congregate in Portland, they have iPhones. They are going to check the weather.  Score.