by gooddelta on 8/1/13, 9:17 PM with 196 comments
by jasonlotito on 8/1/13, 9:54 PM
* Didn't realize I had the name and expiration field to enter as well. I thought it was just show casing the number entry. It wasn't until I came back here to HN to read comments that I realized that there was more to the demo.
* Tab order was wrong.
* 1Password couldn't fill in the data.
* No indicator telling me what credit cards you accept.
* CVV was hidden. There were several cases where I'd finished filling out the form, but couldn't change the CVV.
* Errors are not displayed. Try 10/10 expiration, and you are basically stuck. Without additional information, there is nothing to indicate anything is wrong.
* You can tab from the date to the hidden CVV and enter information there, but you don't see it. This is easily done because the automatic progression is inconsistent, so I've had to tab twice before getting to the year, and because it automatically moves me there, I end up on the CVV. This makes things really awkward.
* Overall, this was fairly confusing. I failed at entering the CC data the first time.
I spent 10 years handling CC processing, and basically living on the payment page. Keep the page clean, quick, and simple. You don't want to do anything confusing. Let them enter the CC data and move on. That fancy CC form will NOT sell a single thing. It will however stop people from paying. It does nothing to convert.
The more friction you place between a customer willing to pay and the actual transaction, the less chance you have of making a sale.
by aresant on 8/1/13, 9:35 PM
That said, my experience indicates that this is not going to convert well.
To mirror the author's own quote:
"Every question a user has to ask themselves during the checkout process is another reason for them not to complete it."
What's presented here is a drastically different experience from the norm.
It doesn't behave the way you'd expect if you've ever bought anything else online.
Beyond that it has to load images dynamically based on card type which, on a slow or interrupted connection, will create even more confusion.
I love the concept, I love the execution, I just don't think this is going to be a conversion driver.
But I'll test it anyways.
by pytrin on 8/1/13, 9:36 PM
One additional nitpick - it says "YourBank" at the beginning, so while I was aware this was supposed to a credit-card form because of the title of the submission, it can also be mistaken for a bank account number submission.
by dualogy on 8/1/13, 10:51 PM
Because it's completely unneeded.
Typical web designer wet dream. Fancy-schmancy visual design fluff, robbing screen real-estate and bandwidth for a freaking "credit card" background image, and will it still work even 2 or 5 years from now when all web dev standards have once again turned 180° and future browsers render stuff like this way-off or not at all? Oh it won't, but you web designer dude will happily fix this at a charge of only 1.5 man-days? Well, neat!
Don't get me wrong, it's fun to spend a week or three "optimizing" an approximate 0.000001% of your web app's UX with ideas like this. I get it. Been there, too.
I see another issue --- with the CC now looking more real, the user also gets closer to the "physical reality" of "I'm parting with cash". Once I see my card's logo I'm instantly more hesitant. It's been shown that the more "layers" away from real physical payment a transaction is, the "easier" a customer proceeds with it.
by dictum on 8/1/13, 9:33 PM
"Wait, where do I put the CVC, name and expiration date?"
by lmkg on 8/1/13, 10:17 PM
My general attitude: it's trying too hard to look exactly like a credit card, and that makes it not enough like a normal form. Dial it back a notch or two. Have the fillable areas look like normal form fields, don't be afraid to explanatory or error labels on the form, and show front & back at the same time rather than a "flip" interaction.
by taspeotis on 8/1/13, 9:44 PM
I gave up after the fourth extraneous tap.
So I guess "why aren't all credit card forms like this" is because people use iPads.
(In all seriousness, great idea but disappointing first impression.)
by iloveyouocean on 8/1/13, 10:17 PM
by FreshCode on 8/1/13, 9:49 PM
[1] Don't Make Me Think, Steve Krug: http://www.sensible.com/dmmt.html
by marknutter on 8/1/13, 9:37 PM
by Camillo on 8/1/13, 9:41 PM
by robflynn on 8/2/13, 4:33 AM
Would you be open to a patch like that?
by awj on 8/1/13, 10:44 PM
* As others have mentioned, there's no advertising of accepted cards
* None of the empty inputs look like inputs until you tab into them. They also cease looking like inputs when you tab out. Correcting data that is not objectively invalid (e.g. expiration in the future, but wrong month) is kind of unintuitive. Someone who clicks into form fields will likely be entirely stumped by this form.
* It doesn't seem to work on mobile. On my iPhone the series of inputs were positively irritating to interact with, somehow each one only took three characters instead of four, and the lack of a tab meant I had little direction on where to go when the first four digit input disappeared.
* The CVV is clumsily poorly handled. You can actually tell in that you're breaking away from skeuomorphism to get the user to that input. It might be a better idea to show the "back" next to the card when you do the initial breakout.
by ryanobjc on 8/2/13, 1:08 AM
This is a great step up from that. The one thing I felt was not perfect was the multiple entry boxes for the different card types. Erasing/backspacing is not so easy. I would suggest a single entry field, and do something about adding padding spaces automagically. This also plays in to the auto-complete/form fillers these days. A credit card number is a single number, not 4 groups of numbers you copy and paste independently.
by bluetidepro on 8/1/13, 9:52 PM
by georgebonnr on 8/2/13, 4:45 AM
by dpcan on 8/2/13, 2:57 AM
Plus, I don't know anyone anywhere anymore that's confused by a few credit card fields.
Plus, tabbing from the number goes to the name field and not the expiration.
Then you'll still have the problem of probably having to enter a valid billing address on separate fields.
I don't know if this really improves anything other than the aesthetic is very pretty.
by pascalo on 8/1/13, 10:50 PM
You should use data urls or sprites for the CSS, then you don't have the the loading image coming in with delay.
Changing stuff once you have filled out the number is hard. You have to navigate your way back through the 4 blocks, and the auto-tab and the way it reacts to arrow keys means that the cursor doesn't end up where I anticipate it.
by JoshTriplett on 8/2/13, 12:04 AM
One bug I noticed: if you enter one of the sample numbers such that the number splits into multiple fields, then backspace starting from the end, you'll end up moved to the beginning of the first field with the first few digits still filled in, rather than backspacing over them.
More generally, any time you construct your own custom input rather than using browser input fields as designed, you end up with this kind of brokenness because you have to reimplement browser logic.
I'd love to see an <input type="creditcard">, with an input-creditcard.js polyfill, and native support added to browsers. On platforms that already know your credit card number, this would allow for simple auto-fill of all relevant information. This would also make life easier for things like Google Wallet that construct virtual credit cards for you, and it would allow for browser extensions that integrate with credit-card vendors to produce one-time tokens.
by dictum on 8/1/13, 9:46 PM
by aasarava on 8/1/13, 9:59 PM
As others have said, some minor instructional text would help people get started. Also, making the name and expiration fields more obvious from the start (more obvious that they're fields and more obvious that they will need to be filled out) would also be helpful.
Having to click to flip the card is probably the biggest problem (though fixable). Typically when filling out a form, I suspect most people use the tab key to go from field to field. Having to go back to the trackpad/mouse and click on a spot slows things down. Maybe have the card automatically flip if you hit tab after the expiration field?
by dredmorbius on 8/1/13, 10:02 PM
#contrastrebellion http://www.contrastrebellion.com/
by 0x0 on 8/1/13, 9:37 PM
by srinivasanv on 8/2/13, 10:22 AM
Maybe you could get rid of the text entirely, MM/YY should be enough of a cue.
by SeanLuke on 8/2/13, 7:20 AM
by untangle on 8/1/13, 9:55 PM
The major flaw (fail) for me is that LastPass doesn't know what to do with it.
Still, I passed to our dev team for consideration.
by dools on 8/1/13, 10:52 PM
I do, however, like the idea of offering a "live preview" of data filled in via a normal credit card form (using the stripe checkout library for example which does all the nice card type detection and input formatting stuff for you).
This type of "preview" could also be useful in a confirmation step, ie. show the front and back of the card so the user can confirm it looks okay (I don't think there would be much advantage in "flipping" back and forth between front and back, though).
by sytelus on 8/2/13, 12:19 AM
by mratzloff on 8/1/13, 9:33 PM
by aneth4 on 8/2/13, 12:16 AM
I would be concerned about reducing conversions though. Unfamiliarity can be scary.
One annoyance for me - I can't hit Command-A to select everything and start over. I'm also annoyed generally by auto-advancing text fields, though this implementation seems to work around some of the issues.
by bsimpson on 8/2/13, 12:10 AM
by fusiongyro on 8/1/13, 9:19 PM
by gohrt on 8/1/13, 10:14 PM
It's horribly wrong to even suggest that. The instructions should say "type 4111.... I don't want your credit card number", and should pop up an error if a valid checksummed card number is entered. Don't miss an opportunity to help people lean safe habits.
by jlgreco on 8/1/13, 9:40 PM
by ChrisNorstrom on 8/2/13, 12:34 AM
- ALL of the inputs should look like inputs and only after a user has put in their information should the input ui disappear and the text be shown as it is on a real credit card. Otherwise the ability to enter your name and expiration is ambiguous.
- I don't like how AFTER you enter your full credit card number, the input fields become segregated, trying to change the credit card number becomes difficult as you now have to click on each of the 4 new text fields to enter a new credit card number. (If a card fails to go through a user might try to use a new one). Yes you can just hold down BackSpace and it will travel from field to field deleting the number but that's not obvious for a user to figure out. Don't segregate the numbers into separate fields just leave them in one.
by bsimpson on 8/2/13, 12:13 AM
by eli on 8/1/13, 10:01 PM
That said, I totally agree with the premise. I'm totally baffled why so many forms require you to unnecessarily select a card type or insist that you enter a number with spaces or only without spaces.
by 205guy on 8/2/13, 1:17 AM
But I liked the concept. The "flip over for CVC" worked for me on Firefox, and that was an elegant solution. I think a lot of the criticism could be avoided by just making it static: don't load the image and redraw the card based on the input numbers. It then boils down to, essentially, the image of a generic card with some generic fields on it. Add some red text for fields that require input, and I think it's an elegant way to guide people when entering CC info. I'd be interested if anyone did A/B testing with this variant (and others) against regular forms.
by tonydiv on 8/1/13, 9:52 PM
by andrewjshults on 8/1/13, 9:43 PM
I actually find the lack of any label on the CVV field a bit confusing, but maybe that's just me.
by justinph on 8/2/13, 3:20 AM
My only gripe would be that it doesn't innately explain which cards are acceptable... E.g., you might not accept Diners Club and Discover, but do want to accept Visa, MC, and Amex. Having little icons there make that more explainable. We did it like that on our contribution form: https://contribute.publicradio.org/contribute.php
by kingi on 8/1/13, 11:44 PM
by andrewhillman on 8/1/13, 11:02 PM
by keerthiko on 8/2/13, 3:05 AM
NB: I comment on amazing HN submissions (Show HNs usually) primarily so that I can find these tools again by browsing my comments from my profile when I feel the need to use them. This is primarily a comment to that end. Thank you so much for this Ken!
by Too on 8/3/13, 3:37 PM
by starmole on 8/2/13, 5:06 AM
by ape4 on 8/1/13, 9:31 PM
by artag on 8/1/13, 11:01 PM
by cheesylard on 8/2/13, 1:53 AM
However, there is a few things that makes me not want to use it.
Firstly, no security code.
Secondly, it's hard to tell which fields aren't being filled out. Especially the YOUR NAME in particular. Maybe you should make these fields red, or when you complete a field it automatically goes to the next field. For example, when you finish typing in your credit card number the cursor automatically goes to the expiration date, and when you finish typing the expiration date it automatically goes to the name. Just a suggestion.
by jakub_g on 8/1/13, 10:02 PM
Usually those granular types are on a select list, if one chooses badly, she gots "transaction refused" without any more info (clearly not nice).
by Qantourisc on 8/2/13, 6:35 AM
by AUmrysh on 8/2/13, 3:52 PM
card number -> expiration date -> name
instead of the current order of number, name, date.
It's a really slick implementation, I love the flipping animation, I used an extremely similar animation setup (face front/face back, and a flip property) on a site I built.
by andrewmunsell on 8/1/13, 9:50 PM
by nfoz on 8/2/13, 12:35 PM
by jaredsohn on 8/1/13, 9:50 PM
by debian69 on 8/1/13, 10:18 PM
by flexd on 8/1/13, 9:49 PM
And what happens if javascript is disabled?
by wmeredith on 8/1/13, 9:49 PM
by sarme on 8/1/13, 10:24 PM
Not something I'd use right now. It's too clunky compared to just having some textboxs on the page. I'm not a fan of skeuomorphism in general though, so I'm probably a hard sell.
Doesn't mean you shouldn't keep trying. Thanks for putting this out there. I love the article, btw.
by pdenya on 8/1/13, 10:02 PM
by pjg on 8/10/13, 11:23 PM
by sergiotapia on 8/1/13, 11:00 PM
by kinkora on 8/1/13, 10:45 PM
Regardless, fantastic piece of code! Will definitely think of incorporating this.
by umsm on 8/1/13, 9:55 PM
As for the input, the standard forms that we grew used to are probably here to stay for a little longer.
by yuletide666 on 8/2/13, 12:12 AM
by nonchalance on 8/1/13, 9:49 PM
by Gonzih on 8/2/13, 12:34 PM
by pat2man on 8/1/13, 9:41 PM
Making the whole thing look like a credit card doesn't seem necessary at all.
by JeremyMorgan on 8/1/13, 9:47 PM
by jaredstenquist on 8/1/13, 10:44 PM
Without great experiments like these, there would be no progression. Kudos to Ken.
by 6cxs2hd6 on 8/2/13, 2:47 PM
Small bug: Amex cards have 4 digit CCV. Although you do show "XXXX" (4 digits) before I start typing, when I get to that field I can only type "123" (3 digits).
by asselinpaul on 8/2/13, 10:41 AM
by analog31 on 8/1/13, 11:48 PM
by njloof on 8/1/13, 10:49 PM
by cyrilga on 8/1/13, 10:24 PM
by renownedmedia on 8/1/13, 11:17 PM
by jlengrand on 8/2/13, 6:36 AM
by virgil_disgr4ce on 8/1/13, 9:50 PM
by BasDirks on 8/2/13, 6:40 AM
by brento on 8/1/13, 11:35 PM
by smiddereens on 8/1/13, 11:07 PM
by Ackley on 8/2/13, 4:23 AM
by atsaloli on 8/1/13, 10:21 PM
by tomasien on 8/1/13, 10:24 PM
by yackob03 on 8/1/13, 11:12 PM
by jpswade on 8/2/13, 5:07 PM
by andygates on 8/2/13, 8:30 AM
by kposehn on 8/1/13, 10:23 PM
I can think of all sorts of ways for it to drop conversions if it fails, but it is so perfectly done that I kind of don't care.
I'm going to keep an eye on this because it has the potential to really increase the comfort people have when entering a credit card. And because it is beautiful.
by gboone42 on 8/2/13, 12:28 AM
by nej on 8/3/13, 1:13 AM
by ihsw on 8/3/13, 1:11 AM
by antidaily on 8/1/13, 9:43 PM
by dhruvkaran on 8/1/13, 10:50 PM
by Nux on 8/2/13, 4:47 PM
by kylelibra on 8/1/13, 9:31 PM
by zawaideh on 8/2/13, 1:29 PM
by NittLion78 on 8/1/13, 9:55 PM
by rorrr2 on 8/1/13, 10:44 PM
Other than the nice visuals it doesn't help anything.
As a designer, you should think of how to make the process of entering the CC more efficient and less distracting, so your conversions don't go down the drain.
A simple clean design with standard input fields will outdo your pretty design any day of the week.
p.s. Does your design even work if JS is disabled?