The Day I un-quit my job at Punchbowl.com
In my last video, I talk about the day I quit. It never went through. I ended up staying with them. Here’s the story.
The Day I quit my job at Punchbowl
A quick tale of the day I quit my job at Punchbowl.com
Edit: Tumblr or Vimeo is having issues embedding this on iPhones/iPads I think. You can try this direct link if it’s not working: http://www.vimeo.com/15445920
My slides from Mongo Boston
Going from Web Services to Party Planning
A few months ago, MyPunchbowl launched what we’ve been calling the Vendor Portal. If you go to www.punchbowl.com/vendors, you can search for vendors by category or keyword in a specific location. In Rails-speak, www.mypunchbowl.com/vendors is part of the monolithic MyPunchbowl.com application. We have a namespaced controller that deals with the requests, layouts and views for the main, state, city, state category, city category, and search results pages. But none of the vendor data exists in the MyPunchbowl.com database. We have another Rails app, creatively referred to as “The Vendors App”, that exposes a RESTful API around the several resources:
- Cities
- States
- Vendors
- Categories
We’ve extend the standard REST actions to include search on each of those resources, and that’s where all the magic happens. Whatever a user types in for a search gets passed to the Vendors REST controller. Some basic parameter filtering goes on in the controller, which then hands off to a wrapper that sits on top of ThinkingSphinx for full-text geosearching.
Next, we launched http://vendors.punchbowl.com, which provides a way for vendors to add their business to our database. The app is fairly straightforward:
- Some CRUD for adding a profile, a photo, selecting some themes
- A payment gateway so that vendors can buy better search ranking, photo galleries, hide ads on their listing page, etc…
- An admin where entries can be reviewed be our Vendor Quality team
I’ve had my share of nerdstorms on this project:
- Hacking up ThinkingSphinx because GoogleBot decided to start getting page 492 of search results when there were only 8 pages of search results, which TS did not particularly appreciate
- Playing with MongoDB’s mapreduce to allow us to give real time information on how many users are searching for a particular vendor category in a particular location
- Moving from an XML API to a JSON one when I realized that JSON was oodles more efficient (on both the generation and parsing ends)
- Improving caching mechanisms on the MyPunchbowl.com side of things to reduce the load on our Vendors API application
And so on….
But it’s cool to pop up from the technology trenches every now and then and actually take a look at what we’re doing. And what we’re doing is allowing people do this:
http://www.punchbowl.com/vendors/nm-new-mexico/taos/2401264/fun-peak
http://www.punchbowl.com/vendors/ma-massachusetts/lexington/2176091/sweet-beads—-birthday-parties-at-home
http://www.punchbowl.com/vendors/me-maine/bangor/2504232/dana-lavertu-dj-entertainment
http://www.punchbowl.com/vendors/il-illinois/maple-park/1494610/wild-orchid-custom-floral-design
http://www.punchbowl.com/vendors/al-alabama/birmingham/2360520/amerson-events-dj-service
And that’s pretty damn cool if you ask me. Yes, we have a long way to go. But seeing how many vendors are actually using this system to get in touch with people planning parties is awesome. Seeing how much effort they put into their listings and how creative they can be is exciting. I’m really proud of what we’ve done with the Vendor system at MyPunchbowl. And I’m looking forward to see where it goes from here.
Take a look around at what you’re doing. Have you popped up lately to see how users are using what you are building? It can be really motivating. If you have any cool stories for stuff that users are doing with your applications, share them in the comments. I’d love to see it.
To be great, you must understand the competition
I was listening to Morning Edition on the way to work a couple days ago, and something caught my ear. One of the reporters was talking about the recent problems that Toyota has been having. The president of Toyota, Akio Toyota, was seemingly absent from the response until he was cornered at the WEF. What he said wasn’t that big of a deal. But something the reporter harped on struck a chord with me.
Apparently, after giving a curt response, he hopped in an Audi and drove away. The reporter and people interviewed for this story made a big deal of this. OMFG, the president of Toyota isn’t driving a Toyota?!?!?! First of all, the WEF is in Davos, and I doubt the president of Toyota has is cars flown in when he visits foreign countries. But even if he owned the car, who cares?
It reminded me that to build a great product, you need to understand your competitors. And I can tell you that if I were the president of a car company, I would make sure to drive competitors products all the time. Luckily, I dont have to drop $30k to test out our competitors. I set aside 30 minutes a week to use our competitors products, just so I know ‘what is market’ with respect to other online invitation and party planning sites.
So just keep that in mind: if you are in a market where you can use your competitors products, take advantage. Use them. Learn from their successes and mistakes, and build something better.
Thoughts on… the death of agile
This post by William Caputo yesterday talks about the death of agile programming as a valid model for iteratively developing software. I’ve skimmed plenty of books, read plenty of blog posts, and heard plenty of people talk about it. And while I’ve always liked most of what I’ve heard, I’ve never completely drank the Kool-aid about pair programming, developer-centric two week scrums, stand ups, and their cohorts. I’ve never been a card carrying member of the Agile Superfriends.
At first, I felt bad about not diving whole-heartedly into agile development method. All the cool kids were doing it, and I wasn’t jumping on the bandwagon. Why?
Was I being an arrogant jerk? “I’m too good for this stuff. You’re wasting your time”. I dont think so. Like I said, I’ve always liked most of what I’ve heard about agile programming.
Am I already an old curmudgeon who can’t learn new tricks? “You silly kids and your Agile… just ship code!” No, first of all I’m only 26 (27 in on the 20th!). And I love keeping up on whats going on in the space right now. Working at Punchbowl with Blake gives me the freedom to experiment with all kinds of new software and process, and we frequently put cutting edge technologies into production.
Is it because I live in the middle of nowhere? “Boston is 75 minutes away… I can’t go hang out at all the hackfests and Boston.RB meetings! WAAAAA!” No way. In this day and age, location is irrelevant.
At the end of the day, I always just had a slightly off taste in my mouth when it came to agile. But my problem was different than Caputo’s. Caputo’s problem, from what I gather, is that Agile has been watered down over the years so as to not hurt anyone’s feelings. It was watered down so that everyone could play (CEOs, finance people, and in his example, janitors) when that wasnt the point. But I never thought of it that way.
I think my big stopper with Agile is that it encourages people to run around screaming “LOOK AT ME I’M SO FUCKING AGILE!!! YOU SHOULD BE TOO!” Reminds me of something….
I’ve seen people turn down jobs because the company hiring wasn’t agile enough. I’ve seen people denied jobs because they weren’t agile enough for the company.
A process is a guide, a suggestion. When it becomes a doctrine, a religion, you’re betraying the message, and you need to snap the fuck out of it. If Agile really is dead, then this kind of shit must have it spinning in its grave.
So as it turns out maybe I am a bit of a curmudgeon — and if you know me then you know that I am an arrogant jerk — but I’m a playfully arrogant jerk :) And at the end of the day I’m perfectly comfortable shipping code that’s a little bit agile, and a little bit not.
@mattdouglas gave me this to celebrate our progress on our new local party vendors stuff. It went to good use this weekend up in Vermont. Thanks Matt
