A free UX review for Postmates

The vast majority of the hip, cool Silicon Valley-based startups have products that work decently well.

The one outlier in this category is Postmates. I have no idea what they're doing over there, but every time I try to use it - between errors, poor UX decisions and outright bugs - the whole experience is a disaster. And this is from a company that has raised over $326 million!

So in an effort to improve the internet and not just complain, here's a free UX review for Postmates:


  • When I'm logged in and already have saved addresses in my account, make it easy for me to select an address instead of forcing me to type it again.
  • Use Gravatar so my image shows up without me having to upload one.


After entering my location, I searched for "pizza". It showed me 2 open locations. But an in-page search for "pizza" on the results page shows plenty of other places that didn't show up in search results. Why?

Logo Destination

After I couldn't find what I was looking for in search results, I clicked the logo to return to the results. Nope! Takes me back to the original homepage where I have to re-enter my address. It should just go to the previous results page now that you know my location!

Credit Card Nicknames?

If I don't enter a credit card nickname, how about we not label it "nickname"?

Kill login email alerts

Why do I need to get an email alert after I login, especially if I've already ordered from the same location before? Save login email alerts for banking and important transactions, not for logging into my Postmates account.

Just let me order!

After hitting the Order button, why is there ever a case when you won't just place my order and take my money? (Also, no email ever comes through. I literally had to create another account to place an order.) If there's an issue with my account, it should be explained loud and clear on every page to set my expectations, not once I try to place an order.

Charge me the right amount, or make it clear you're placing an arbitrary hold

In my opinion, it isn't obvious enough to the user where you explain you're placing a hold. This should be on the page, not in a hidden tooltip that I'm required to interact with. Also, the notion you're not just charging me the exact amount, and instead have to have an "estimated total", is just really strange.

Make sure links on error pages work

I think I've managed to see every single error page that Postmates has. But this one in particular is really frustrating, because as many times as you click the "Go to the Homepage" button, it's never going to work because it links to order.postmates.com which consistently serves up this error, as opposed to going to postmates.com (the actual homepage), which I believe is the desired destination. (Looks like it could be a cookie issue now.) But this begs the question, why is the homepage not part of the app? That maybe explains why it doesn't populate my previous addresses, account avatar, or anything else it knows about me.

Another fun error I managed to get in the 3 times I've tried using Postmates

Clicking an address in my account...

Huh? lol

Dropdowns need icons

If you're like me, you'll go to click on this. Except a pane opens on hover. But because I'm going to click, I inadvertently close the pane that just opened because there's no indication that this pane is going to do anything on its own. Doh!

Don't force me to download your app to see my order status

Let me access my order info on a mobile webpage, don't force an app download on me! (They actually do, but if you click the link in the email, you get prompted to download the app, instead of an on-page message bar while viewing the mobile site.)

Bug: Incorrect delivery estimation

It lists the order time as the delivery time. I ordered at 4:08.

Order total doesn't match checkout process

My "estimated total" was $16.29. But the site, post-order, says $13.13. Is this why the prices are "estimated" - because they'll appear different on every page?

Different price for the same order? Huh?

These orders were placed within a week of each other. Yet somehow, they're different prices. (And I find it pretty hard to believe the price would have changed within that time frame.)

Wrong timezone?

App shows the order was delivered at 8:08, 4 hours off from the order time, not delivery time. -_-

Email receipt delayed 2 days?

I'm sure they'll call this intentional, because they have to resolve the hold and charge the correct amount, but sending a receipt 2 days later is still kinda laughable. But it's very jarring to wake up to this 2 days later and wonder if you accidentally ordered another pizza that's waiting outside your door for you once you crawl out of bed.

Cancelled transaction for suspected fraud

This screenshot was from the first time I tried to order from Postmates. We were hanging out with friends, waiting for our food, until the estimated delivery time had passed. Checking my email, this is what I found. So I re-placed the order through Eat24 and planned to go pick that one up. Turns out, despite Postmates cancelling the order, they failed to inform the merchant who had the food ready for us, so there was an entire meal wasted becaue I had placed a second order and Postmates didn't bother to contact the merchant nor me until well after the estimated delivery time.


This is the summary of my 3 experiences with Postmates. Mind you, this wasn't even me going out of my way to find bugs. These simply came up in my own personal attempts to order. And I'm only one person; imagine what else the rest of the world sees!

Love the concept, but come on, guys. This is embarrassing.

An incredible customer experience

I spend a lot of time ranting about businesses that treat customers poorly. I have a rule on Yelp that I have to post more positive reviews than negative, and while this isn't Yelp, I figured it was time to highlight someone doing something right.

So we're in Jersey City, NJ - just across the water from Manhattan, with the French Bulldog, Bubbles, in tow. Since we don't exactly want to leave her for more than a few hours, we looked up doggy daycares in the area. Turns out, there was a highly-rated place not too far from where we're staying, so I took her in to check the place out. (It's rare you see a place with 5 stars on Yelp, but this is one of the few.)

This place was incredible. Plush couches, a fireplace, TV, and carpet. In addition, there's a glass pane going from the lobby to the dog area, and glass from the street into the lobby, meaning you can walk by anytime - unannounced - to see how your pup is doing.

The owner, James, has a very low ratio of staff to pups (around 1:5), whereas other places will have 10x that. He records the times when the kids relieve themselves. He factors in specific feeding instructions for each dog. He has a maximum size of dogs he'll allow, to ensure safety for the rest of them. He knows the ins and outs of specific breeds and how to care for them. He'll even walk them home at the end of the day if you need him to! In addition, he got some great video footage of our Frenchie playing with the other pups.

Try getting any of this at any other doggy daycares.

Our Frenchie, Bubbles, came home at the end of the night completely wiped from playing with the other kids all day.

I think what I appreciated most about James, is that he treated my dog the way I treat her. You won't get that most places.

But it doesn't stop there. Last night when we brought Bubbles home, we left in a rush, but James emailed me after we had already left, to let us know the last time she "did her business". Talk about going above and beyond.

There's something to be said for businesses, started by individuals who love what they do, and are still an integral part of it. I wish there were more James' in the world. How James runs his business is how I try to run FolioHD. Go the extra mile. Do the right thing. Treat people how you would want to be treated. It's a lost art these days. But there are still the gems in the world.

So next time you're traveling through NYC - or near Jersey City - with your pup, swing by Executive Dog Lounge. Because that's where pups are spoiled just as much as you do at home.

How Silicon Valley's elitist mindset affects product design

TL;DR: Did you know you can't plug a Pixel phone into a TV to mirror your screen? Google purposely left this feature out because they want you to buy a Chromecast.

Silicon Valley decides how we use technology. Since they make the products we all use, they have the ultimate say about how we will use our devices. Overall, we benefit from the decisions they make for us - in how we are forced to embrace technological advances that they deem necessary.

Adobe Flash is a great example of something that Apple and Google collectively decided to force out of the market, due to security concerns, battery life issues, and more (if not also for competitive reasons). While I don't know anyone who firmly believes Flash should still be around, it's a marquee example of how Silicon Valley businesses altered how we use technology because they decided it was in our best interest.

But where is the line between what's "good" for us, and what they say is good for us?

In my experience in Silicon Valley, I've worked with several product managers who hold very "elitist views" about how products should be made. Instead of focusing on how the user will use a product today, they tend to architect how they feel it should be used in a decade. The problem with this is that in the short term, you end up with a handicapped product, and the products of today are generally gone (or greatly evolved or rebuilt) in even a couple years from now.

It makes sense that we design for the future, but if we are building so far into the future that a product can't be fully appreciated today, it greatly hampers our ability to fully benefit from this technology.

Apple is a prominent example of this. You must fully buy in to their ecosystem - how they think you should use their products and services - in order for everything to work. If you take even one segment out of their ecosystem, you risk losing data (iCloud backup vs. other syncing services), not being able to play music on certain devices (DRM), or not being able to message certain people (iMessages).

But the reason I decided to write this post is because of how Google decided to build screen mirroring on the Pixel, their flagship Android phone.

You know how with most phones, you can simply plug a cable from a phone into a TV and you can instantly see the screen on your TV? Yeah, Google decided not to support this standardized feature. In fact, it's supported on many of their other devices in the same line, but not the Pixel phone. In order to get content on a TV screen from your Pixel phone, you must use a Chromecast device.

In a perfect world, this makes sense. Everybody should own a Chromecast, and with that setup, you can wirelessly put your content on a screen. Great.

Unfortunately, we don't live in a perfect world.

  • Not everyone has a Chromecast. (Yes, I understand they want you to buy one because they've decided this is the ultimate way to enjoy content.)
  • Not everyone has wifi to stream said content. (What about at Grandma's house when you want to show a slideshow on her TV? Trying to play a movie on an outdoor projector when you're camping?)
  • What about presenting at a client's office? Gotta pull out the ol' laptop.

In my current scenario, I live in an RV. I have a wireless router for this very reason, but sometimes RV parks have complicated network setups that don't allow me to directly connect my router. So in my case, I have multiple Chromecasts. I have unlimited data on my Pixel. I have everything Google wants me to have. I even have a third-party USB-C to HDMI cable that should be the solution for getting my content on my TV. But because Google won't support a feature that's been around in nearly every other phone built in the past decade, I'm stuck resorting to plugging in a backup iPhone and carrying a second plan for that phone.

Silicon Valley lives in a bubble. In the Bay Area, everything is connected. Unless Googlers go camping (in which case they don't intend to use technology), they are always connected. And when you have a solid internet connection, everything works perfectly. The problem is that they tend to build products for themselves, instead of the entire world outside Silicon Valley. The world outside of Silicon Valley is far from perfect.

In a decade, all of the connectivity problems of today will likely mostly be solved, and this will be a non-issue because they tried to solve it today. But we'll introduce new problems just like these in the future, and there will be growing pains as a result.

Sometimes I just wished the product managers in Silicon Valley would bring it down a notch and solve problems for real people, outside of the bubble, today, instead of dictating how we should use products just because they think it's the right way to go. In reality, they don't care about the edge cases. They care about solving the problems that they've deemed worthy. They're solving for what happens when you're at home, on your couch, on a Google phone with a Chromecast and Google Fiber in your house. The problem is, there's an entire world outside their bubble.

Redesigns: Stripe UI 👍🏼, Stripe UX 👎🏼

When companies produce redesigns, the intention is usually to make things easier to use, make features more discoverable, and often to provide a visual refresh. As we all know, people don’t like change, so usually their is some level of revolt. This revolt usually subsides over the course of weeks or months and everyone moves on. But not always...

Stripe recently released an update of their dashboard. Initially I didn’t like it, but I decided to give it some time before passing judgment. It’s now been 2 months, and I still believe this is a huge step backwards in terms of usability. Stripe has managed to add additional steps to many steps of my typical workflow. Here are a few examples:

The old dashboard had 3 charts visible at all times: Volume, Charges and Customers Created. It was great to be able to quickly glance at all 3 metrics. 

Let’s break this down:
  • Two of the three main charts have now been buried behind tabs. You now have to actually put effort into viewing the data that used to always be available.
  • The line charts are much harder to parse visually.
  • Stripe added a new row along the bottom (Transfers, Disputes, Radar). Previously, when there was a dispute, it would show an additional box at the bottom. This was great because it was a very obvious call-out that action needed to be taken. In the new design, the Disputes box is always there, even if there are no disputes. Unfortunately, I have completely missed seeing open disputes because the box always appears, and I start to ignore it. I end up not seeing the “0” number changing to something else. Put simply, the visual cue isn’t distinct enough from when that box doesn’t require any action.
  • The Radar section is new, and completely useless to me since it isn’t a feature I use. Of course, it could be an upsell, but if a business doesn’t have a need for Radar, there’s really no reason for it to display there.
In summary, it seems like this new dashboard was designed by someone with a great eye for visual design, but didn’t think through the actual use cases of people like me. (Of course, there’s always the chance I’m in the minority.) But adding additional boxes along the bottom, just to even out the UI, is “pretty”, but completely useless otherwise.

Adding a Subscription
Creating a new subscription (with a trial) used to be a one-step process. It has now turned into a multi-page process that requires me to use Google when manually creating a subscription. First, a screenshot, then I’ll explain. (Pay close attention to the Trial end feature.)

Usually subscriptions are automatically created via the Stripe API, but from time to time, I have to create or modify subscriptions manually. For my case, it usually involves a one-time charge, then creating a subscription starting months from the current date.

In the old UI, clicking in the Trial end box would display a date picker, and you could easily choose the date you wanted.

In the new UI, aside from creating a simple modal into a 4-step process, the Trial period input is now a numerical input. That means you can no longer simply select a date from a calendar. So when I want to choose a date, I now have to go to Google, type “how many days until X, 2017”, and then enter the value.

Now, I can hypothesize some use cases where a numerical entry might be handy. But I can almost guarantee the decision to change the input type was done without due research on how people were actually using the input.

I could go on with more examples of how things have become harder to use, but I’ll save them.

The challenging thing about being a designer is that you are often not the target audience of the product that you’re designing. And without having the inherent understanding of a product - because you don’t use it in a real-world scenario, yourself - you tend to design differently.

It seems as if the people behind the Stripe redesign put form over function.

Hotwire Express: The amazing support team that is no more

May 2010 in Memphis, TN: I open the door to my downtown hotel room. It smells a bit musty, the floors a bit creaky, and the noise from the street is surprisingly audible for a hotel of this rating. I reach for a complimentary water bottle to discover that the bottle's security seal had already been broken, indicating the bottle was already consumed and then refilled.

All this comes after my first impression, where I had trouble getting into the hotel in the first place because they lock their doors at night to keep the crazies of the night outside.

I felt uncomfortable. Really uncomfortable. And I didn't want to stay here for the next 3 nights that I had booked. Turns out there's more to Memphis than Beale Street!

So I called Hotwire. I spoke directly to a Hotwire Express support representative in the United States. After listening to my story, she explained that Hotwire doesn't offer refunds or exchanges (which I knew), but due to my history with them, they were going to rebook me in another hotel at their expense.

Little did I know at the time that I had access to a super secret special customer support number for Hotwire, known as Hotwire Express - one that connected me directly with their premier support team, dedicated for frequent travelers who book through Hotwire. I was honored.

In fact, I wasn't the only one. In the late 2000's, Hotwire received three consecutive awards for "Highest in Customer Satisfaction for Independent Travel Web Sites".

Hotwire already had a great product. Now that I knew they had this level of service for their best customers, I was hooked. This was a safety net. In the event the worst happens, they'll be there to make things right.

If you aren't familiar with Hotwire, it's the hotel booking site that rose to fame because they offered discounts over other sites by not revealing the name of the hotel until after you book it, only allowing you to choose the star rating ahead of time. For those of us who like living on the edge, it's kind of fun.

But Hotwire isn't without its faults. One of the things that has irked me the most is the deceptive ways in which they list resort fees, the pesky fees some hotels use to anchor their price within the range of competitors, then later making up the difference with a fee paid directly to the hotel.

Hotwire doesn't list this fee until after you've clicked through to the hotel's detail page. It's a little deceptive, but you get used to it. (The practice of showing an all-inclusive price is the vastly preferred method, like how companies such as Southwest and Stubhub present their pricing.)

But in all cases where there's a resort fee, the fee is listed directly below the BOOK NOW button.

That is... all cases, until this week.

2016 in Lake Arrowhead, CA: During my stay at Lake Arrowhead Resort and Spa, I woke up to a folio slipped under my door with a $20 resort fee listed. With no recollection of this fee, I double-checked the Hotwire listing where I booked the hotel. Sure enough, no resort fee was listed.

I checked in with the front desk, as I didn't recall signing anything acknowledging the fee. As it turns out, they had eliminated the registration card, since they assume the fee is listed when booking the hotel.

So now we've got a hotel that charged a fee without authorization, but really it comes down to Hotwire's lack of transparency when booking the hotel.

After a call to Hotwire, the rep, in broken English, acknowledged there was no resort fee listed. But she simply recited the policy that when you book through Hotwire, you agree to pay any resort fees to the hotel. I asked to speak to a supervisor because of the very obvious lack of transparency about this fee. Without flat out refusing, she refused to let me talk to a manager. I believe she ended up hanging up on me. (Side note: I was very calm, cool and rational - I wasn't being a jerk.)

She proceeded to tell me that, in this particular case, the fee was a "use fee" for using amenities like the pool. "Did you use the pool during your stay?" she asked. Seriously?? (Even though this suggestion sounds crazy, I confirmed with the hotel that they do not charge a fee when amenities are used.)

Emailing Hotwire support stonewalled me just like the phone rep did.
Before you complete the reservation, we provide the terms of the Hot Rate® booking for your review. The policies includes, "You pay the hotel directly for charges like room service or resort fees." Therefore, by clicking the "book now" button, we assume that our customers are fully aware of the policies governing the reservation. We regret we re unable to honor any refund at this time.

Hotwire maintains a separate section of their website that published hotel names, and offers some of the same hotels at listed prices. When looking up the listing for the hotel in which I stayed, this is the information that's presented:

For some reason, the resort fee is listed here, unlike in the Hot Rate section. I'm fairly certain this is a weird bug. I see absolutely no reason why the resort fee would be listed in one place but not another.

This entire scenario is incredibly disappointing to me for a number of reasons:
  • How can I be expected to pay a fee I wasn't aware of? (I likely would not have booked this hotel, had I known about the resort fee.)
  • How are multiple channels of their support team unable to understand a customer's perspective here?
  • How are they not willing to let me talk to someone in charge?
  • Uhh, what happened to their premium customer support line (Hotwire Express)?

I tabulated how much money I've spent with Hotwire over the past 7 years: $16,327.06. This isn't to say that I deserve better support than others, but many companies do keep tabs on the lifetime value of their customers in an effort to keep the more profitable ones happy.

What's more frightening than the fact that this fee wasn't disclosed, is the fact that the people on their front lines have zero compassion or sympathy for their own customers.

As a business owner myself, whenever a customer experiences a problem, I always try to make it right from their perspective, even if that means sucking it up or losing money on the customer. Obviously that level of support doesn't always cascade down to lower-level employees, but for pete's sake, what has happened to Hotwire over the years?

The experience I had with them in 2010 is what has made me stick with them all these years. They did what I was just talking about. They lost money on that sale, but made the effort to make it right, and I think it's paid dividends for them.

But as it turns out, I'm finding out Hotwire has discontinued the Hotwire Express program, the program that boosted their customer loyalty by providing great customer support in the first place.

I'm not sure what's changed over the years. I'm guessing corporate repositioning, a shift in management, and an effort to become more profitable. It seems as if Hotwire has changed their focus to be more on the bottom line and less on their customers. It's sad to see, especially when they used to be known for their customer service amongst their most frequent of customers.

I'm hoping this is a one-off experience that I had, but sadly, this experience will make me think twice the next time I'm booking a hotel.