"[Jobs] insisted there be only two bathrooms in the entire Pixar studios, and that these would be in the central space. And of course this is very inconvenient. No one wants to have to walk 15 minutes to go to the bathroom. And yet Steve insisted that this is the one place everyone has to go every day. And now you can talk to people at Pixar and they all have their 'bathroom story.' They all talk about the great conversation they had while washing their hands.
" ... He wanted there to be mixing. He knew that the human friction makes the sparks, and that when you're talking about a creative endeavor that requires people from different cultures to come together, you have to force them to mix; that our natural tendency is to stay isolated, to talk to people who are just like us, who speak our private languages, who understand our problems. But that's a big mistake. And so his design was to force people to come together even if it was just going to be in the bathroom."
These kind of projects are awesome. They may seem "pointless" or "a waste of time" to some PHB-types but they're a wonderful showcase of a great, true-hacker culture and I bet they do a ton for morale. I hope that any future startup I'm involved with has this sort of culture - it's a goal I'll aim for.
I wired one of these tasteless gnomes (http://www.robertdyas.co.uk/meerkat-solar-light) up to our build server with a Raspberry Pi (which also plays sound effects). It has to be the most ridiculous thing I have ever claimed expenses for!
Seemed silly at the time but now everyone loves it. No one has to be the guy that tells you that you broke the build. The anger is all directed at the meerkat and you can't ignore it like you ignore emails.
I do always find it funny when some companies say they value "innovation" but look at things like this and think its a "waste". I mean, you can't really be innovative without also encouraging a culture where you can experiment.
I think this is not at all a waste of time if it means that employees can be spending more time at their desks and doing work instead of waiting for a toilet. The fact that they were motivated enough to build such a system is an indication that there was a large amount of time spent waiting.
Moreover, the concept is quite abstract and has many similar applications. I used to work in a scenario when there was a specific gateway resource that was needed to be run by every developer for executing his code, was very expensive and people would annoy each other by suddenly remote logging into machine and disturbing others. Then we came up with a resource locking / waiting and current state showing software, along with estimates of when which machine would be free, so you could request a reserve slot. Some sophistication included things like how much of it was actually used by you vs reservation time so it could adjust appropriately.
I remember, about 25 years ago, a HUD on each an ever train carriage would indicate whether the toilet was occupied. The HUD was located above the baggage section at the end of each carriage. Occupied was red, and unoccupied was blank. No Raspberry Pi was involved, but through careful social engineering, everyone in the carriage know what the sign meant, There was a physical hardware based fall-back also, which was an indicator on the 'toilet room' with not both red but 'OCCUPIED' displayed on the door, the operating process of which consisted of one locking the door.
This is not to discredit train bathroom engineers decades ago. Ensuring a piece of bathroom machinery operates consistently for up to thousands of miles per day with usage analysis certainty included is a very admirable achievement.
Decades later... the same efforts but in a small scale static environmental setting are posted to a website called Hacker News.
Good observations, but let's also review what this does accomplish. The train system is reliant on mechanical linkage and line-of-sight, so can serve only a limited audience. While the Pi-powered version scales, making the toilet status accessible to everyone everywhere in the world by leveraging the connectivity of the Internet.
I'm not sure what's your point; I'm pretty sure this isn't being upvoted because people consider it an amazing accomplishment, but because it's a fun example of how easy it is to connect physical objects to the Internet using the Pi.
Random Hall (a dorm at MIT) has/had a `bathroom server' that did exactly that and also a `laundry server' that tells you whether the laundry machines are busy. The bathroom server used to be at http://bathroom.mit.edu (seemingly offline now) and the laundry server is at http://laundry.mit.edu
I don't know the current status of the bathroom server, but when I was living in Random, certain bathrooms would be taken offline on Jewish days of rest (since activating the door switch could be considered prohibited work). So it's possible that the server is offline today for Passover.
The bathroom server was up until just a few weeks ago. I'll have to ask someone here what happened. (We've had the system for over ten years, I think, so some of the equipment is getting old. )
Laundry server sounds interesting. We just reprogrammed the logic board with a few switches on our laundry to make it free for those in the know and twice as much as the other floors for everyone else (keep the riff raff away). It was a small floor (suites) so all 24 of us on the floor (and a few friends from other floors) had access.
We desperately need the laundry one in my dorm at Oxford! I have invested way too many brain cycles in thinking about unobtrusive ways of achieving that.
We can hope the logs help to make the problem very concrete and easy to argument.
If you can push numbers about the maximum time someone has to wait before having access to a bathroom, the qualification of the problem could shift from "inconvenient" to a potential health problem.
Yep. The company I work for built something exactly like this [1] when we were sharing two single stall bathrooms with a floor that, during the day, was occupied by somewhere around 40 people.
And then we moved to an office with multi-stall bathrooms and it wasn't necessary anymore.
[1] http://pee.mover.io -- still up because we gifted it to those left behind (though I don't know if it's still functional).
Yeah, this has only become a problem in the last few months where we've been growing the company. We don't really have the space to build new toilets, and soon we'll outgrow our beautiful office, partially for this reason. For now I think we're happy to wait occasionally for the loo. As another poster observed, this project was a fun way to improve the waiting experience and make the most of the facilities that we have.
One of the developers at work put an Pi-sized device on one of the toilet stalls, with a page on heroku to show the status of the stall. It worked well, and yes, we do have too few toilets at work.. :(
Note that the HTCPCP protocol has recently been extended to fully handle teapots (instead of just returning an error) - https://tools.ietf.org/html/rfc7168
I think that adding toilets is a very reasonable next step.
Or a yellow light to reserve a stall for the short walk to the bathroom from your desk. Nothing worse than making the B-line to the stall, only to have someone cut you to the chase.
You could make it very simple timer that holds the stall for a brief minute or two.
This is actually immensely useful. Imagine I'm Disney, New York City or the National Parks Service.
This could tell me:
1. Which bathrooms are used and when?
2. Which bathrooms/stalls are being avoided by people?
3. Which bathrooms are out of toilet paper or paper towels?
Could literally save millions of dollars, improve location choices for bathrooms and have way fewer dirty bathrooms. It's the same point as those sensors in garbage bins/dumpsters.
* What's the most common pattern for two occupied toilets (from the frequencies, it appears to be the classic occupied-free-occupied, to allow more space between users)
* What's the day of the week that the toilets are most used? And less used? (it would also be nice to cross-reference that with the menus from nearby cafeterias)
* Check if there's any correlation between the frequency of people going to the toilet and issues on you bug tracker. What about the average duration?
* If you extend your system to a coffee machine, correlate the coffee consumption with the toilet's usage.
Actually, with this, you could use most of this data and train a decision tree with it. Then, you could warn your co-workers with "In 10 minutes it is expected that the toilets will be occupied, maybe you want to go now?".
On the other hand, maybe you just want to keep this functionality to yourself, otherwise everyone will just go to the bathroom 10 minutes earlier.
Seeing zero referenced arrays in the detailed data output warms my heart. Looks like no one likes the middle stall. At current employer, no one uses the first stall because the flush mechanism is partially broken and no one is motivated enough to figure out how to get it fixed. A maint dude could find this data useful to find problems requiring repair.
I will admit that looking at the headline I initially thought this was a geolocation app for urban bathrooms. To discourage the homeless most local retail establishments either supposedly don't have a bathroom or you need to explain to the front desk why you need a key and they need to think your appearance is adequate, or you need to buy something to be allowed entrance into the area at the back of which are the restrooms. This could be useful. Where I live and shop is 20 miles away in a much nicer area, but where I work, if you're out for a walk at lunch time, and you have to go, you pretty much have to use an alley just like the homeless, so an app like this to find the nearest free toilet (free as in don't need reservations and seating at the restaurant, or rented office space, etc) would be occasionally convenient.
One of my friends built software to track use of the two washers and two dryers at our local dormcubator. It relied on students to report that they had started a cycle by email; so long as students did this then the website could tell you when the cycle ended because the machines had fairly consistent cycle times.
While he built a virtual queue into the website (type in your email address and we'll send you an email when the last load is done) it turns out that people are really bad at picking up their laundry right when the machine finishes...
That would be a privacy invasion, as users, by polling, could figure out who is on each stall, and, from there, how long everybody spends there. It also allows everybody to recreate the detailed log that this system logs.
I would be careful deploying even the original indicator because of concerns that it might break some employment/privacy law. It is hard to prevent systems from leaking personally identifiable information, especially in cases where data is grouped over a relatively small number of persons, as appears to be the case here.
I love projects that have a hardware and a software piece like this one does!
The features seem to have gone through a progression based on the hardware available.
The initial thing, a red/green light, could have been done entirely through simple logic built just with transistors and passives. The next iteration, a web-based yes/no, could have been satisfied with an Arduino and Wifi/Ethernet shield, or maybe an Electric Imp. The final phase, tracking duration by toilet, the menu bar helper, etc, requires either some backend infrastructure (if using an Arduino or Electric Imp) or the Raspberry Pi.
The animated header, giant video, and annoying spinning model almost lost me though.
I made something very similar with a Spark Core (https://www.spark.io/), lots of wire, some paper clips, post-it notes and gaffer tape. I should really get round to writing that up. Same single purpose site design (albeit only on our Intranet) but it has mobile apps and desktop notifications. Time for a pull request.
[+] [-] incanus77|12 years ago|reply
"[Jobs] insisted there be only two bathrooms in the entire Pixar studios, and that these would be in the central space. And of course this is very inconvenient. No one wants to have to walk 15 minutes to go to the bathroom. And yet Steve insisted that this is the one place everyone has to go every day. And now you can talk to people at Pixar and they all have their 'bathroom story.' They all talk about the great conversation they had while washing their hands.
" ... He wanted there to be mixing. He knew that the human friction makes the sparks, and that when you're talking about a creative endeavor that requires people from different cultures to come together, you have to force them to mix; that our natural tendency is to stay isolated, to talk to people who are just like us, who speak our private languages, who understand our problems. But that's a big mistake. And so his design was to force people to come together even if it was just going to be in the bathroom."
[+] [-] nlh|12 years ago|reply
Well done guys.
[+] [-] jsingleton|12 years ago|reply
I wired one of these tasteless gnomes (http://www.robertdyas.co.uk/meerkat-solar-light) up to our build server with a Raspberry Pi (which also plays sound effects). It has to be the most ridiculous thing I have ever claimed expenses for!
Seemed silly at the time but now everyone loves it. No one has to be the guy that tells you that you broke the build. The anger is all directed at the meerkat and you can't ignore it like you ignore emails.
[+] [-] overgard|12 years ago|reply
[+] [-] ahmadss|12 years ago|reply
[+] [-] userbinator|12 years ago|reply
[+] [-] fayyazkl|12 years ago|reply
[+] [-] aortega|12 years ago|reply
I particularly like this one, but for me life is too short to waste time in useless projects.
[+] [-] zhte415|12 years ago|reply
This is not to discredit train bathroom engineers decades ago. Ensuring a piece of bathroom machinery operates consistently for up to thousands of miles per day with usage analysis certainty included is a very admirable achievement.
Decades later... the same efforts but in a small scale static environmental setting are posted to a website called Hacker News.
[+] [-] T-hawk|12 years ago|reply
[+] [-] icebraining|12 years ago|reply
[+] [-] hengheng|12 years ago|reply
[+] [-] userbinator|12 years ago|reply
[+] [-] robryk|12 years ago|reply
[+] [-] jmharvey|12 years ago|reply
[+] [-] ziedaniel1|12 years ago|reply
[+] [-] jaynos|12 years ago|reply
[+] [-] RRRA|12 years ago|reply
finger @bathroom.mit.edu
(it was still active a few months ago, what's going on! :)
[+] [-] ballpoint|12 years ago|reply
[+] [-] boristhespider|12 years ago|reply
[+] [-] DanielStraight|12 years ago|reply
[+] [-] hrktb|12 years ago|reply
If you can push numbers about the maximum time someone has to wait before having access to a bathroom, the qualification of the problem could shift from "inconvenient" to a potential health problem.
[+] [-] resu_nimda|12 years ago|reply
[+] [-] stormbrew|12 years ago|reply
And then we moved to an office with multi-stall bathrooms and it wasn't necessary anymore.
[1] http://pee.mover.io -- still up because we gifted it to those left behind (though I don't know if it's still functional).
[+] [-] ninjabiscuit5|12 years ago|reply
[+] [-] omarhegazy|12 years ago|reply
[+] [-] userbinator|12 years ago|reply
[+] [-] rasur|12 years ago|reply
[+] [-] simulate|12 years ago|reply
[+] [-] falcor84|12 years ago|reply
[+] [-] michh|12 years ago|reply
So basically, yellow would mean "You could, but unless you really need to, you probably don't want to" ;)
[+] [-] dclowd9901|12 years ago|reply
You could make it very simple timer that holds the stall for a brief minute or two.
[+] [-] Dewie|12 years ago|reply
[+] [-] josephschmoe|12 years ago|reply
This could tell me:
1. Which bathrooms are used and when?
2. Which bathrooms/stalls are being avoided by people?
3. Which bathrooms are out of toilet paper or paper towels?
Could literally save millions of dollars, improve location choices for bathrooms and have way fewer dirty bathrooms. It's the same point as those sensors in garbage bins/dumpsters.
[+] [-] nkozyra|12 years ago|reply
[+] [-] JD557|12 years ago|reply
* What's the most common pattern for two occupied toilets (from the frequencies, it appears to be the classic occupied-free-occupied, to allow more space between users) * What's the day of the week that the toilets are most used? And less used? (it would also be nice to cross-reference that with the menus from nearby cafeterias) * Check if there's any correlation between the frequency of people going to the toilet and issues on you bug tracker. What about the average duration? * If you extend your system to a coffee machine, correlate the coffee consumption with the toilet's usage.
Actually, with this, you could use most of this data and train a decision tree with it. Then, you could warn your co-workers with "In 10 minutes it is expected that the toilets will be occupied, maybe you want to go now?".
On the other hand, maybe you just want to keep this functionality to yourself, otherwise everyone will just go to the bathroom 10 minutes earlier.
[+] [-] edw519|12 years ago|reply
For now we’ll keep collecting data to see what other worthless knowledge we can assimilate.
On one hand, we want to lighten up and acknowledge that not everything we do is to "save the world".
On the other hand, we shouldn't forget that some of our greatest achievements came from something that seemed worthless at one time.
[+] [-] ctdavies|12 years ago|reply
[+] [-] VLM|12 years ago|reply
I will admit that looking at the headline I initially thought this was a geolocation app for urban bathrooms. To discourage the homeless most local retail establishments either supposedly don't have a bathroom or you need to explain to the front desk why you need a key and they need to think your appearance is adequate, or you need to buy something to be allowed entrance into the area at the back of which are the restrooms. This could be useful. Where I live and shop is 20 miles away in a much nicer area, but where I work, if you're out for a walk at lunch time, and you have to go, you pretty much have to use an alley just like the homeless, so an app like this to find the nearest free toilet (free as in don't need reservations and seating at the restaurant, or rented office space, etc) would be occasionally convenient.
[+] [-] stuecclesmxm|12 years ago|reply
[+] [-] 1gn1t10n|12 years ago|reply
Once a toilet becomes free, everybody waiting will try to aquire the ressource (ie: do a costly walk to the bathroom).
There must already be some gaming theory or performance modelling result that solves this issue, though.
Just a simple idea would be to add a random delay for propagating the information to different users.
[+] [-] cbhl|12 years ago|reply
While he built a virtual queue into the website (type in your email address and we'll send you an email when the last load is done) it turns out that people are really bad at picking up their laundry right when the machine finishes...
[+] [-] MichaelTieso|12 years ago|reply
They had done a podcast episode as well on this although I can't remember which episode that was.
[+] [-] bagels|12 years ago|reply
http://www.gpo.gov/fdsys/pkg/CFR-2013-title29-vol5/xml/CFR-2...
[+] [-] command_tab|12 years ago|reply
[+] [-] Shivetya|12 years ago|reply
[+] [-] Someone|12 years ago|reply
I would be careful deploying even the original indicator because of concerns that it might break some employment/privacy law. It is hard to prevent systems from leaking personally identifiable information, especially in cases where data is grouped over a relatively small number of persons, as appears to be the case here.
[+] [-] Mister_Snuggles|12 years ago|reply
The features seem to have gone through a progression based on the hardware available.
The initial thing, a red/green light, could have been done entirely through simple logic built just with transistors and passives. The next iteration, a web-based yes/no, could have been satisfied with an Arduino and Wifi/Ethernet shield, or maybe an Electric Imp. The final phase, tracking duration by toilet, the menu bar helper, etc, requires either some backend infrastructure (if using an Arduino or Electric Imp) or the Raspberry Pi.
The animated header, giant video, and annoying spinning model almost lost me though.
[+] [-] jsingleton|12 years ago|reply
I made something very similar with a Spark Core (https://www.spark.io/), lots of wire, some paper clips, post-it notes and gaffer tape. I should really get round to writing that up. Same single purpose site design (albeit only on our Intranet) but it has mobile apps and desktop notifications. Time for a pull request.
I was inspired by http://www.frisnit.com/telemetry/. Seems like this is a pretty common problem. :)