For years, I’ve been using PayPal and although I don’t hate the service as much as many (in fact, I have very few complaints), I really dig Stripe for its simplicity, design, and ease of integration.

On top of that, I’ve used it in a variety of client projects but I’ve never actually done anything with it myself.

But this past weekend, I finally had the opportunity to integrate Stripe into a page on my site, and I used the WP-Stripe plugin by Noel Tock.

This morning, I tweeted the following:

This tweet sparked an excellent conversation in WordPress user interface design.

I’ll be the first to admit: I’m one of the most critical when it comes to theme and plugin developers deviating from the WordPress user interface. A fellow tweep (and WooThemes developer), Coen Jacobs brought up an interesting point:

Which is a fantastic question. Though you can read the entire conversation on Twitter, I thought I’d summarize my thoughts here:

Noel’s balance of design and the native WordPress UI is fair. Perhaps the biggest deviation is the font and the table of purchases.

But I’d say that when there’s no example on which to base your work (such as displaying results from a Live and Test environment), you have to forge your own way.

I think Noel has done a stellar job of that.

When building products on top of WordPress, there are a finite number of elements that we can use for reference – various input types, tables, tabs, fonts, etc. But when there’s nothing to reference, it’s the developer and/or designer’s responsibility to handle the solution as elegantly as possible.

In the case of WP-Stripe, you have the ability to toggle between the Live and Test environments and you can view purchases from both. Currently, there’s nothing like this in the WordPress admin.

As such, it had to be created:


One of the downsides of having such a lively, open, and welcoming economy is that you have to accept the good with the bad. This means that for every well-architected, beautiful WordPress-based product, there are going to be those that are less than stellar.

As developers and designers, it’s our responsibility to make sure that we’re adhering to the native WordPress admin experience. When faced with a new challenge, we need to handle it elegantly – not just take the shortest path to delivery.

Of course, that’s just my thoughts. Would love to hear what the rest of you think about this.