My Opentable feature wish list. What features do you want @opentable to add?

I use OpenTable every week even though I hate a service. The app is buggy, the website is impossible to navigate, and merchants complain about them all the time.

But I have no choice. OpenTable is pretty much the only place I can go to make restaurant reservations online. They have a monopoly. Unfortunately that means they haven’t done anything to improve the product in a while. I see a lot of opportunity. Here’s a quick list of what I would build:

  • Let me confirm reservations within Opentable. Send me a push notification or an email. I hate getting phone calls.
  • The restaurant’s reservation terminal should show photos of people who have reservations that are coming up. That way the host can greet me by name. This sounds small but it’s a great feeling when it happens.
  • When I go to a restaurant I visit a lot, make sure they know that I’m a regular. I would LOVE it if I went into Absinthe and even a new host would know, “he comes in every week”
  • Use my history and ratings to give me recommendations. Maybe Opentable does this but I don’t see them. Restaurants could pay to be promoted as recommendations.
  • Email me on Tuesdays when recommendations for when I should eat that weekend. Show me restaurants with availability and a one click link to book them.
  • Exclude restaurants from search results. Never show them to me again.
  • Sync with Foursquare. Check me in automatically. Use Foursquare data to recommend places to go.
  • Sync with my calendar. Put reservations on my Google calendar for me. Let me invite other people as well and use it as an RSVP system. If I remove the event from my calendar, cancel the reservation.
  • Send me an Uber at the right time before a restaurant reservation.
  • When a cancellation occurs for a hard to get reservation, don’t put that reservation back in the pool. Instead, hold it for your top users. Send me a push notification when something good opens up so I can grab it.

What features do you want Opentable to add?

Update, ideas from you:


Idea: create a platform for services like Postmates and Shyp

I wonder if someone could build a platform that powers services like Postmates, Task Rabbit, and Shyp. These apps have a ton in common, and instead of rebuilding features every time they could leverage a common framework. This would offer things like:

  1. Connect users with couriers intelligently based on location, mode of transportation, etc
  2. Gives realtime status updates
  3. Bill the user, pays the courier, handle the entire payment transaction
  4. Handle ratings of the couriers, users, and service

Basically a developer could “level up” and focus on their core differentiator. It would let people rapidly ship and test ideas such as Prim and Cherry without reinventing the wheel each time.

There’s something here that reminds me of Amazon: they started out by selling books, but then became a platform for anyone to sell anything, and for anyone to compute anything.

The one feature that would make @foursquare indispensable

Every month I think about deleting Foursquare from my phone, but every time something makes me change my mind. Last month it was when Kate and I used Ryan Sarver’s Sydney Foursquare list to guide all our eating and drinking. It was incredible, and an experience no tour book could give us.

Foursquare can become the ultimate service to help you remember the great restaurants you’ve been to, and the places your friends are recommending. But there’s one big problem: if I forget to checkin when I’m at a venue, I don’t feel it’s acceptable to checkin later. That’s cheating the game, so the checkin is lost.

Foursquare needs to let me checkin in the past. want to checkin everywhere. I want to document every place I’ve ever been. When I’m on vacation, I want to get to my hotel room after a long day and tell Foursquare every place I visited, and what I loved and hated. Foursquare should be my journal, without forcing me to document in realtime.

This could be a game changer for Foursquare, positioning them to beat Yelp, TripAdvisor, and in the future, even traditional travel guides like Lonely Planet. Foursquare has more data and is more social than any of these.

Bonus: I also believe Foursquare should move away from the “friend” relationship model to an asymmetric “follow” model like Twitter. This would let me follow chefs, travel experts, celebrities, or anyone else who I think might have good recommendations for me. Even if my friends aren’t on Foursquare, I should get great recommendations for places to go.

Why you need a “product guy”

[There’s] a fundamental misunderstanding of what it means to do product. It is not code for a person who doesn’t really know how to do anything but thinks he can boss engineers around. It doesn’t refer to marketing guys who had an idea. Understanding what it means to drive a product means understanding the full scope of the vision of your company. It means understanding your engineering team, their capabilities, and their priorities. It means understanding what your next move is, and what your 6th move is from every angle.

I used to think product managers were worthless. Engineering run companies are the way to go! And why not? I was an engineer with an idea, and it turned into Posterous. When someone would approach me to be a “product guy”, I laughed. Especially if they had no engineering background or track record. What do you know about shipping a product?

Now I know better. A product manager’s job is not about coming up with all the ideas and telling engineers what to do. It’s about running a process to make sure the best ideas wins.

And a designer is not necessarily a product guy. They are different roles.

A good product guy knows your product and your market inside and out. They live and breathe metrics and industry trends. They look for market and revenue opporunities.

A good product guy takes ideas from the entire team. They talk to users and partners. They put it all together to come up with a great plan.

When starting a new company, you can build the most random thing ever and see if it sticks. You have no users, there is little risk.

But once you have users and investors, you need to take educated risks. That’s not a bad thing. But it’s not as easy as it sounds.

A good product guy will work his ass off to figure out the next 6 steps for the company, and beyond. And when you do take the big risks, he’ll have a better idea of what to expect.

A good hockey player plays where the puck is. A great hockey player plays where the puck is going to be.

Wayne Gretzsky

Design for users

I had a really great experience in the bathroom at Jardiniere restaurant.

The sink in the men’s room has a two handle faucet, meaning you have to turn on the hot and cold water separately to get your desired temperature.

Except I only turned on the hot water. With no cold water running, I washed my hands in water that was about as hot as I could stand, but not too hot. It was perfect.

So why is it that most bathrooms have the hot water turned up hotter than any human can bear? Because they can.

Whether you’re building a bathroom or building a software product, it’s easy to get caught designing based on the capabilties of your infrastructure, rather than designing for what the user actually wants.

Who cares what your database schema looks like. Who cares that you can add a million checkboxes and options to let users customize everything. Stop thinking about what your product can do, and start thinking about what your users wants.

If you’re not embarrassed when you ship your first version you waited too long (via @photomatt)

What killed us was “one more thing.” We could have easily done three major releases that year if we had drawn a line in the sand, said “finished,” and shipped the darn thing. The problem is that the longer it’s been since your last release the more pressure and anticipation there is, so you’re more likely to try to slip in just one more thing or a fix that will make a feature really shine. For some projects, this literally goes on forever.

I imagine prior to the launch of the iPod, or the iPhone, there were teams saying the same thing: the copy + paste guys are *so close* to being ready and we know Walt Mossberg is going to ding us for this so let’s just not ship to the manufacturers in China for just a few more weeks… The Apple teams were probably embarrassed. But if you’re not embarrassed when you ship your first version you waited too long.


This is a really great essay about waiting too long to ship products and how even Apple doesn’t get every feature into their 1.0 products.

As we work on some major initiatives here at Posterous, it’s important to remember the most important thing is to ship early and iterate based on feedback from all our great users. Every day we brainstorm new ideas and new things we could do to make these features even more awesome, but at that rate they would never actually ship.

Apple built Keynote because Steve Jobs hates PowerPoint

PowerPoint is by far the worst app in the Microsoft Office suite, and it was probably the only application that Steve Jobs had to use before Keynote came out. There was no alternative for giving presentations at Macworld.

So what did Steve Jobs do? He built something better.

In this 2001 Macworld keynote address, Steve Jobs is clearly using Keynote, even though the application wasn’t released until January, 2003. Steve does not beta test every application Apple releases. But Keynote was his baby, something he badly needed. It was built for him.


It’s always best to start a company or build a product around personal frustration, to solve a problem that you have yourself. Keynote is the best app in iWork suite. It’s clear how much Steve was involved with the development: it’s a joy to use, the level of polish is incredible.

Watch the 2001 PowerBook keynote here: 

p.s. Love this line from the presentation: “The new PowerBook G4 is absolutely where it’s at for power and sex.”

Hat tip @dcurtis for posting the video.

Make a great product, gain a user. Have great support, earn a fan

Amazon emailed me last week. A product manager for S3 wanted to talk about our use of their services. (Amazon S3 provides the storage for all the images and video on Posterous). It seemed like a great opportunity to talk to someone within Amazon about issues we’ve been having, and features we’d like to see.

Once we got on the phone, it was clear that this person didn’t want to help us at all. He just wanted to pick our brains to get ideas on how to increase sales and keep customers. I have no desire to give my time or my thoughts to Amazon so they can grow their business. And I told this directly to the person on the phone.

Why not? Because they don’t have great support. Amazon doesn’t care about me, so I don’t care about them. They have a good product, so they have me as a user. They don’t have good support, so they don’t have me as a fan.

When we have issues, they don’t want to help us. They force us to pay for support, which costs $500 per month, or 20% of your bill, whichever is greater. As we grow it becomes prohibitive to pay this. Instead of taking care of its largest customers, Amazon penalizes them. We’re incentivized to leave.

I told the person on the phone that what Amazon needs to do to keep Posterous as a customer is offer better support. We need better developer tools to analyze our usage. We need better tools to stop abuse. We need a direct contact within Amazon for when we see issues. The Amazon rep didn’t seem to care, he was too focused on pricing.

The other vendor we use to run Posterous is Rackspace. They take the opposite approach, and offer the best customer support imaginable. They go out of their way to make us happy. Because of their great support, I am a fan of theirs. I intro YC companies to Rackspace all the time. If Rackspace needs my help, I’m there for them. I wish there was more I could do to help them, because they are awesome.

There are plenty of companies that I would fight for. Costco, American Express, Rackspace, and many other companies I recommend endlessly, even though I don’t get a penny from them. I do it because I love these companies, because they take care of me. They offer great customer service. And I am a fan.

To build a successful company, you need more than just a lot of users. You need fans who genuinely want you to succeed. And to do that, you need to give them a great product and great support.

You can follow me on Twitter here.

Apple is run like a huge startup. The key to great products is small teams

Has Apple Forgotten About Its Remote App?

One of my favorite and most-used iPhone apps is Apple’s Remote app. It lets me remotely control iTunes, which is streaming to my living room stereo via an Airport Express. But why hasn’t it been updated in over 8 months?

Yes, the Remote app is due for an update. But here’s why it hasn’t been updated: the person who wrote it is busy working on other things. Yes, the person, not the team. (He’s a good friend of mine)

Apple doesn’t build large teams to work on every product they make. Instead, they hire very few, but very intelligent people who can work on different projects and move around as needed.

One day you might be working on the Remote app, and the next day you might get pulled on to another project that needs your help.

The engineers on the Mac OS and iOS teams move back and forth between the two projects based on release cycles and what needs to ship next.

Even on Final Cut Pro, team members were sometimes asked to work on the other pro applications if they needed help to ship on time.

An engineer at Apple can’t just assume they will be working on one project forever. And teams at Apple won’t grow to sizes beyond what is absolutely necessary.

Startups also thrive by keeping things lean. Great startups have small teams that can build quickly and pivot when needed. When working at a startup, you don’t own just one part of the application: you have to be able to work on whatever needs your attention that day. 

Maybe that’s the problem at Microsoft: they think they can solve problems by throwing lots of people at them. They put together large teams to build products. And large teams require managers. The last thing we need in software development are more product managers.

You can read about the “8 Management Lessons I Learned Working At Apple” on The Business Insider War Room.

And you should follow me on Twitter here.