Hacker News new | past | comments | ask | show | jobs | submit login
Coffee and its Effects on Feature Creep (2011) (royrapoport.blogspot.com)
253 points by shadytrees on March 29, 2014 | hide | past | favorite | 46 comments



I love this. Although it is a bit more advanced than what we had, we suffered a similar problem:

On Friday when the boss shouted us pizza, we had a problem with everybody trying to order various pizza's, various half pizza's, and various sized pizzas over email. Then the orderer had to collate all of these into a coherent order for the pizza shop.

In the end, we wrote a new module for our internal project management system called "The Pizza Module".

The Pizza Module would be pre-populated with the menu of our favourite pizza shop, so that you couldn't place an order for something that didn't exist. It would then allow people to enter orders via intranet, and then resolve things like four people ordering "half a mexicana" into two mexicana's. It also came with the "fat graph" report, which always had the orderer with the fattest amount (due to people who didn't have access to the intranet ordering through him).

Finally, it was fitted with a feature that prevented ordering, unless your timesheet was complete for the past two months. For a long time, it was very successful, and worked perfectly as intended).

However, in the end, it broke down when we moved away from it as we shifted to a different project management system. Nobody could be bothered writing a new pizza module (or refactoring the old pizza module to work with various project management systems), so we now use a collaborative Google doc with a table that people can place orders in. This is a Bad Idea™, and is far more open to gaming than the system described in the article. However, it is good for 5 minutes of entertainment on a Friday morning, watching people going back and forth on the shared doc.


Could you please elaborate on how people tried to game the system and what was done to try to mitigate that?


Well, if I order a large Meat Lovers, it is far too easy for somebody else to change it to half a small vegetarian. Then add 15 people, all wanting to screw with eachother, and it is far too easy to stuff up the whole thing.

Perhaps "gaming the system" was not the right choice of words, but I wanted to note that the author of the article seems to go to great lengths to stop this sort of abuse.


scott_s posted this a few weeks ago, so normally we would bury it as a dupe. But it's so perfect for HN, and got so little of the attention it deserved, that I'm going to leave it up.

On a trivial note, blogspot's auto-switching between .ca, .au, .in, .co.uk, .com, and every other suffix under the sun is some of the most annoying bullshit we have to deal with on this site.


Thanks for leaving it up. I often wonder how many good reads I miss and it's so hard to keep track even of which submitters I always find make enjoyable posts.


Oh, is that what happened? I saw it as an .au (I'm in AU) but couldn't work out what the heck RPI was (why do people still assume that their blog readers are in the same region they are?). Happily the dodgy "May 16, 2011" subtitle was a giveaway that it was somewhere in North America.


Yeah, that's what happens. Blogspot detects which country you're in, silently edits every URL accordingly, and redirects you to that. Argh!

Maybe we'll change our code to make it always be blogspot.com.

p.s. I've added .au to the list :)


There are also blogspot.de, .at, etc. ...Google's recent changes with the redirect and the bad HTML5 template are quiet annoying.

Changing HN to always just display the .com version would be awesome.


If you check the SSL certificate[1] you get quite the list:

.blogspot.ae .blogspot.be .blogspot.ca .blogspot.ch .blogspot.co.at .blogspot.co.il .blogspot.co.nz .blogspot.co.uk .blogspot.com.ar .blogspot.com.au .blogspot.com.br .blogspot.com.es .blogspot.com.tr .blogspot.cz .blogspot.de .blogspot.dk .blogspot.fi .blogspot.fr .blogspot.gr .blogspot.hk .blogspot.hu .blogspot.ie .blogspot.in .blogspot.it .blogspot.jp .blogspot.kr .blogspot.mx .blogspot.nl .blogspot.no .blogspot.pt .blogspot.ro .blogspot.ru .blogspot.se .blogspot.sg .blogspot.sk .blogspot.tw

[1] https://www.ssllabs.com/ssltest/analyze.html?d=www.blogspot....


This sort of thing is why we had free lunch for employees, ordered via Seamless out of a spreadsheet of your regular order per restaurant. It wasn't a benefit - it was just a way to save the company time. It was costing more to pay for people's time spent coordinating what to do for lunch on their own than it did to just buy everyone lunch.


Did you notice an expansion in the total money supply in your office due to deposit multiplication?[1] I can conceive of a situation where three people who wanted to prank you can game the TCNW statistics by circularly assigning debt to each other. For example, Alice says she owes Bob $20 billion, Bob says he owes Charlie $20 billion, and Charlie says he owes Alice $20 billion.

[1] http://en.wikipedia.org/wiki/Fractional_reserve_banking#Exam...


In Denmark, the biggest bank have made an app where you sign up with your bank account and payment card. Then you can transfer money between friends (sending, asking and splitting). And it only requires you to login with a PIN code, and then you just use peoples mobile nr.

There's obviously limits on how much can be transferred, but it's ideal for those small purchases.

It's available on iOS, Android and even Windows Phone. Link to Android version: https://play.google.com/store/apps/details?id=dk.danskebank....

Currently free to use, but in some years there's a minor percentage fee.


In the U.S., some banks have this too. For example, Citibank offers a service like this called Popmoney to its customers for free. (Popmoney is actually available to anyone from their website[1], but if you use it from there it costs the sender 95 cents per transaction.)

[1] https://www.popmoney.com


Commonwealth Bank in Australia has a similar app - Kaching.


They seem to have added most of the Features to the normal CBA app.


I haven't used it. I haven't heard of anyone using it.

Et vous?


Noone I know uses it either..


in the UK, Barclays have PingIt, which I use a lot with my friends for cinema tickets and such.

the main issue is /knowing/ they can receive the money- sending it to some mobile number might not be good enough for them to retrieve it. (unless I know they have the pingit app)


In Denmark, this app is almost universally owned, basicly anyone with a smartphone has it. The competing banks have tried to introduce their own system, but its dependant on users having their bank, which means nobody will actually use it, whereas this can be used by anyone with a Danish bank account.


Debt tracking can also be done with Splitwise: https://www.splitwise.com/

which is good for when you don't have cash money at the Redwood City taqueria.


Wow, this is the exact app that I need at the moment. Thanks for pointing it out. I dont know that there exist something like this.


I always enjoy good "gaming the system" reads. Nothing beats the story of LucasArts' Habitat.



The second link is what I read first back in 2010. Found it through reading another book called Virtual Justice which you can get in pdf format for free (linked below). Apparently it was pre-LucasArts and still Lucasfilm.

http://lastowka.rutgers.edu/virtual-justice/


Excellent story. The comments from previous workmates give the sense that this was a nice place to work.

Here is a puzzle...

In my old pre-ubiquitous-computing physics lab we did something similar to the system described in the OA with a large piece of graph paper and a collection of coloured pens. It was called the Who Buys Next Chart.

We made our own coffee and tea, you understand. Axes were drawn with number of cups made along the bottom and money up the side. A thick black line of gradient equal to the average cost per cup was drawn(1). Each member had a different colour pen.

When you made a drink you extended your line along an amount equal to the number of drinks. When you bought something you extended your plot with a vertical line equal to the amount you spent. Equitable contributions implied a plot approaching the thick black line.

When we ran out of a crucial ingredient, the person whose plot had reached furthest left below the line (i.e. who had made the most drinks but not bought much) had to go and buy the stuff.

The system was gamed in various ways - or more accurately various strategies evolved to avoid having to go out in the rain and various issues about equitable contribution arose.

Can you spot some of the more obvious ones?

(1) The gradient was determined by the accumulated result from the previous WBNC. This tradition had been in place for some years, and a large sheet of graph paper lasted for a couple of months.


Instead of assigning person-to-person debt relationships, my company just tracked the sum of each person's net debt on the whiteboard, with a circular buffer log so we can go back and fix things in case the sum doesn't add up to 0. The trouble with that is when people are too lazy to update the sum, so they end up hoarding a bunch of receipts and then update it way later. Eventually some numbers got really big, so I put some offsets on the board so that infrequent participants' contribution to the sum was zero. And then people left the company with nonzero debts...

Another option that we've started doing is to just randomly assign the task of paying for a meal, weighted by each person's proportion of the cost.

Once somebody has a debt to a coworker, though, the most efficient way of paying it off is to bet double-or-nothing on a coin flip until the debt is zero or the debtor is uncomfortable increasing it further.


Couldn't the debtor just keep flipping the coin until they got zero?


Only as long as both people agree to keep flipping.


> yes, I implemented coffee drink definition ACLs

This is so excellent


I know, this one line made my day


I stopped reading at "venti non-fat 180 degrees vanilla latte with two equals, extra squirt of vanilla, and whipped cream".

That is not coffee.


It's espresso with sugar, dairy and syllables - still coffee.


Ha-ha! That guy likes coffee with a bunch of stuff to disguise the bitter flavor. Anything he has to say is completely invalid and also my tastes are better than his.

Isn't it awesome feeling superior to people ha-ha!


The irony of this is that while my post was a joke, yours is actually about making yourself feel superior to people.


Circle troll commenced?


Spotted the "venti non-fat 180 degrees vanilla latte with two equals, extra squirt of vanilla, and whipped cream" ordering hipster.

Just drink it black, it's infinitely better. Yes I am saying this objectively. Buy a hot chocolate and take a caffeine pill if you're going to make such an avante garde order.


Starbucks do not sell coffee. In fact, people at the US rarely drink coffee.

Or we can get over holier than you attitude, and recognize that some people just like those milk drinks, and call them "coffee", whatever that term means on our culture :)


People in the US drink coffee constantly!

...in my experience. Unless by coffee, you don't mean ground coffee beans, with the option of milk/cream and/or sugar?


One man's feature creep is another man's Agile iterative development. Started with an MVP and iterated onwards :P


As fun as implementing Caffeinator might have been, this makes me wonder if the simpler solution of buying a nice coffee machine could had solved the issue in a much simpler way (and cheaper... developer time is expensive, and more so on weekends! :)


Best quote: "And that's how I set out to simplify ordering Starbucks and created an internal banking system."

Very entertaining story, and I think it's less feature creep than building a product that is valuable to you and your colleagues iteratively. I'd mark this as a success.


Our office has free tea/coffee/milk.


We just have a company supplied expresso machine and try to convince the team leader to put work lunches on his company credit card. Much simpler :-)


I thought this would end up being the story of how Ripple came to be.


Credit card roulette is the only sane way to pay group tabs. It's also much more fun.


A description of Credit Card Roulette can be found here:

https://en.wikipedia.org/wiki/Credit_card_roulette




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: