
Is the Toilet Free? - virmundi
http://madebymany.com/blog/is-the-toilet-free
======
incanus77
From [http://www.npr.org/2012/03/19/148777350/how-creativity-
works...](http://www.npr.org/2012/03/19/148777350/how-creativity-works-its-
all-in-your-imagination):

"[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
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.

Well done guys.

~~~
ahmadss
shameless plug -- if you like "pointless" projects, check-out Pointless
Corporation -- [http://www.pointlesscorp.com](http://www.pointlesscorp.com)

~~~
jodrellblank
Related concept:
[http://en.wikipedia.org/wiki/Chind%C5%8Dgu](http://en.wikipedia.org/wiki/Chind%C5%8Dgu)

------
zhte415
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.

~~~
T-hawk
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.

~~~
rtpg
>While the Pi-powered version scales

It scales but the endpoint probably doesn't scale ( I don't know if 1 toilet
can easily serve 100 people)

------
robryk
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](http://bathroom.mit.edu) (seemingly offline now) and
the laundry server is at [http://laundry.mit.edu](http://laundry.mit.edu)

~~~
jmharvey
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.

~~~
coldpie
> activating the door switch could be considered prohibited work

Unless the operators meant it as a joke, this is absolutely ludicrous.

~~~
colanderman
IANJ, but electronic switch = spark = fire = work, as I understand it. This is
pretty common (along with removing light bulbs from refrigerators, which to me
makes no sense unless you also disable the temperature sensor).

~~~
robryk
Does it also apply to solid state switches actuated by a capacitative touch
sensor? I wonder why this or something of a similar nature isn't a solution to
most of these issues.

~~~
devcpp
Well, the decision to make electricity forbidden was a mix of building (by
closing a circuit, not relevant to 100% capacitive systems), spark (ditto),
heating and adding power consumption. There is some debate as to whether those
last two still always apply to 100% capacitive devices (as this is important
to Israeli soldiers and hospital workers).

But ultimately, most Rabbis know that these reasons have mainly been brought
up to avoid making those "holy days" look like other days by allowing the use
of computers, microwaves and so on, so it's not just going to go. Every
practicing Jew has thought about it. Many hope our Rabbis change their mind
one day, seeing how hard life without electricity has/will become and how
plausible solutions may exist.

------
DanielStraight
Sounds like the real problem is that you don't have enough toilets.

~~~
resu_nimda
My thoughts exactly. Kudos for geeking out on the problem, but that shouldn't
be necessary.

~~~
mikeash
On the other hand, building new bathrooms or expanding existing ones can be a
long and expensive process, so improving the efficiency of existing resources
can be a smart way to go.

~~~
YokoZar
One of the easiest ways to do this is to declare the bathrooms unisex,
especially if you have a serious gender imbalance at work. I worked at a
startup office that had a (typical) 80% male to female ratio, but the building
was designed with two male and two female toilets.

These were the types of bathrooms that had a single toilet, a single seat, and
a door for the whole thing, much like a bathroom in your home. Having such a
bathroom be assigned to one gender only doesn't really make much sense, but it
was especially apparent when there was frequently a line for the men's
bathrooms while both womens were empty.

~~~
jhardcastle
The video/gif on the article shows both men and women entering and exiting.
There is only one LED. There is only one website. The diagram only shows three
stalls. I venture to guess that this bathroom is _already_ unisex.

~~~
threedaymonk
All three cubicles are indeed unisex. (I used to work there.)

------
simulate
Reminds me a bit of the Trojan Room Coffee Pot
[http://en.wikipedia.org/wiki/Trojan_Room_coffee_pot](http://en.wikipedia.org/wiki/Trojan_Room_coffee_pot)

~~~
falcor84
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](https://tools.ietf.org/html/rfc7168) I
think that adding toilets is a very reasonable next step.

------
michh
Add a yellow light for when there are stalls available but all free stalls
have recently been used for more than 2 minutes.

So basically, yellow would mean "You could, but unless you really need to, you
probably don't want to" ;)

~~~
Dewie
Oh I get it, you're saying that it would probably smell like shit in there.
wink.

~~~
nyrina
I don't know about you, but it always smells heavily of strawberries after
I've been there.

------
josephschmoe
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.

------
nkozyra
Prone to race conditions, unfortunately. What's more frustrating than seeing
Yes and then finding the door closing in front of you.

~~~
Yhippa
Maybe they could add a reservation queue to the bathroom as new functionality.
That would probably be unnecessary blocking if people abandon their place in
line.

~~~
nkozyra
Maybe the bathroom lock could literally be a mutex.

------
JD557
Here are some more ideas for you to use the data

* 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
Loved this line:

 _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
I was totally expecting an article discussing the politics of toilets.

------
VLM
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.

~~~
stuecclesmxm
The middle stall is the smallest ;)

------
1gn1t10n
While the hardware part of the job is nicely done, I think there still remains
the problem of how to convey the information to the users.

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
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...

------
MichaelTieso
ThoughtBot did something similar with a Arduino.
[http://robots.thoughtbot.com/arduino-sensor-
network](http://robots.thoughtbot.com/arduino-sensor-network)

They had done a podcast episode as well on this although I can't remember
which episode that was.

------
bagels
Does your office violate Osha standards for employees per toilet?

[http://www.gpo.gov/fdsys/pkg/CFR-2013-title29-vol5/xml/CFR-2...](http://www.gpo.gov/fdsys/pkg/CFR-2013-title29-vol5/xml/CFR-2013-title29-vol5-sec1910-141.xml)

~~~
threedaymonk
Well, theirs doesn't: it falls outside the purview of OSHA via the loophole of
not being in the US :-) In fact, the relevant UK legislation is marginally
stricter, and permits up to 50 people at work for 3 unisex toilets:
[http://www.hse.gov.uk/contact/faqs/toilets.htm](http://www.hse.gov.uk/contact/faqs/toilets.htm)
. That's five fewer than the US Labor Code.

I did note with amusement this line in the US code:

 _(2) Construction of toilet rooms. (i) Each water closet shall occupy a
separate compartment with a door and walls or partitions between fixtures
sufficiently high to assure privacy._

US toilets gave me quite a culture shock: the partitions and doors are so
short, high off the floor, and full of gaps that they certainly did not
"assure privacy", at least not compared to what I'm used to.

------
command_tab
Shameless plug: A few co-workers and I hacked together the same thing not too
long ago, using an Arduino: [http://www.command-
tab.com/2013/07/23/gottago/](http://www.command-tab.com/2013/07/23/gottago/)

------
Shivetya
Just give each stall its own Instant Messenger id so I can check their status
via my client

~~~
Someone
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.

------
Mister_Snuggles
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.

------
jsingleton
Love it!

I made something very similar with a Spark Core
([https://www.spark.io/](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/](http://www.frisnit.com/telemetry/). Seems
like this is a pretty common problem. :)

------
yeukhon
I would even go as far as "booking toilet". Sometimes when you need to take #2
and you absolutely want privacy (because that's a multi-tenant restroom) and
isolation, you can pay for the next toilet by "paying". How to pay? Could just
be a drink, or say thank you aloud to your coworker. Something fun.

------
jmzbond
A little torn about this. Reading through the comments, and kind of agree that
the project is an interesting representation of hacker culture, and certainly
stimulating/ morale-boosting to work on...

But on the other hand, I'm just a little bit sad that some clearly intelligent
people have put time toward this problem instead of pressing issues like
hunger or violence or any other number of social problems that are present all
over the Valley and the US, not to mention the rest of the world. Secondly,
every time I read an article about "using the bathroom for 1 less minute will
save in total X years of your life!" I think about Wall-E and how much I don't
care for that level of efficiency.

Alright I'll get off my box, because I'm sure this was a harmless and fun
post, but this was just an honest statement of what I thought. I wrote about
this (i.e., and get up on the soapbox with a loudspeaker) much more in-depth
in case anyone is curious (or thinks I'm crazy) FYI:
[https://medium.com/business-startup-development-and-
more/64d...](https://medium.com/business-startup-development-and-
more/64d6b091c455)

~~~
jmzbond
Was the downvote because this opinion, expressed in a hopefully respectful
way, was just… not welcome?

------
djhworld
I hope the data that comes from the toilet is inaccessible to anyone until the
end of the day.

Otherwise it would be easy to infer from real-time data how long a persons
bathroom break is and maybe infer what they were doing in there, which, while
obvious, I think people would be uncomfortable with others knowing.

------
mikeleeorg
"For now we’ll keep collecting data to see what other worthless knowledge we
can assimilate."

I see what you did there.

I love these kinds of projects though. "Pointless" is only in the eye of the
beholder, and if I worked there, I would probably find this pretty useful.

------
golergka
When I see projects like this, I always remember that that's how webcam was
invented.

------
stkni
Great! But you need a status update that's more mobile I think. Because the
status is quite likely to change when you (and all your colleagues) see the
green light and head for the door ...

------
mtVessel
" ... thus eliminating all the tedious chatting, relaxing and making friends
that people were previously forced to do while waiting for [the loo]."
-Douglas Adams

------
janj
I have no experience with hardware. Can someone give some suggestions on where
to start if I wanted to do a simple side project like this to gain some
experience? Thanks

~~~
crusso
I'd recommend that you not start with the rpi if you have zero experience.

If you're in the USA (edit: at a local RadioShack), you can buy an Arduino, a
breadboard, wire, some resistors, switches, and LEDs for less than $60 -- the
cost of a typical newly-released video game.

Take it home, read the online getting started guides, and start learning how
to get basic circuits working.

Start reading [http://hackaday.com/](http://hackaday.com/) to get an idea of
what's possible. Bookmark projects that look interesting and proceed from
there.

~~~
yaddayadda
I find hackaday inspirational, but not informative enough for newbies.

In no particular order, I suggest:

Check out makezine.com.

Find a local makerspace[1]

Work through tutorials and references for beginners (great hands on
electronics book [2], more in-depth info to augment an electronics tutorial
[3], arduino [4])

[1]
[https://duckduckgo.com/?q=makerspace](https://duckduckgo.com/?q=makerspace)

[2] [http://www.amazon.com/Make-Electronics-Learning-Through-
Disc...](http://www.amazon.com/Make-Electronics-Learning-Through-Discovery-
ebook/dp/B00D7O2JH8/ref=sr_1_2?s=books&ie=UTF8&qid=1398096651&sr=1-2&keywords=arduino)

[3] [http://www.amazon.com/Practical-Electronics-Inventors-
Third-...](http://www.amazon.com/Practical-Electronics-Inventors-Third-
Scherz/dp/0071771336/ref=sr_1_3?s=books&ie=UTF8&qid=1398096651&sr=1-3&keywords=arduino)

[4] [http://www.amazon.com/Arduino-Workshop-Hands--
Introduction-P...](http://www.amazon.com/Arduino-Workshop-Hands--Introduction-
Projects/dp/1593274483/ref=sr_1_10?s=books&ie=UTF8&qid=1398096651&sr=1-10&keywords=arduino)

------
jgv
We did something similar last year [http://briiiiian.com/bathroom-f-
graf/](http://briiiiian.com/bathroom-f-graf/)

------
Theodores
It is easy to mock the OTT solution that has gone on here, however...

I had the pleasure of working with a deaf guy that would spend an inordinate
amount of time in the loo. There was just the one loo.

45 minutes could pass by with him occupying the loo. Being deaf it wasn't as
if you could knock on the door and ask him to hurry up - he would not be able
to hear you, and, even if he could hear you he would be able to pretend
otherwise. Like Schrodinger's cat there would be no way of knowing...

You couldn't complain either, for all one knew he might have been using that
time for something more important than one's own toiletry needs. Perhaps it
was the batteries in his hearing aids, not being deaf one would not know, or
even know if speculating about such a thing was morally inconsistent. Or maybe
he had another medical condition that one was not privy too. Or maybe his body
jewellery needed to have puss and inflammation cleaned out if it on a regular
basis. One can only imagine...

It wasn't as if he took the newspaper in or his phone, so it wasn't a really
good book or jolly exciting porn collection that took up his time there. None
of the micro-managers really thought it a problem that he would spend such a
long time in the loo, even if other staff and visitors had to go to a nearby
Starbucks due to being caught short.

So we had a 'is the toilet free' messaging system of our own. There would
always be euphemisms, it wasn't as if we would message 'finally [x] has
finished having a poo and you can now use the loo'. Anyone shoulder surfing
our screens would not realise that that messaging conversation in the corner
about 'that report being delivered', 'the printer having finished', 'those
files uploaded' or 'desperate for that CSV file' was about the status of the
loo. However, through such messages, those two floors away from the loo would
be able to find out if it really would be possible for them to relieve
themselves or not.

In our case, of a small team with inadequate toilet facilities, we really
should have moved to a proper modern office with all of those Philips controls
in the toilets to know what the occupancy situation is, whether the loo needs
to be flushed, whether the water in the hand basin needed to flow and so on.
But we were not going to do that. So we had our own system, a system that
manager types were not privy to. It worked well for us and it was fun.

Had we gone a bit further, hooked up that free Raspberry Pi nobody knew what
to do anything with and implemented something similar, I don't know how it
would have panned out. Someone other than the loo-hogger would have been
sacked for wasting company time and not prioritising their work, the politics
of disability would have got ugly and it would not have happened. So, even
though the solution of the Raspberry Pi is OTT, in getting it done and having
fun doing it, I think that this team have got something out of it a lot more
valuable than their 'Heath Robinson' toilet status indicator.

Personally I like the simple solution they have on older trains - a light that
shows 'vacant' or 'occupied'. There is no internet to break down, there is no
TCPIP settings to get wrong, just a lightbulb to change and a switch to keep
clean. I am sure that for multiple stalls the series/parallel could be worked
out for the switches without too much difficulty.

------
bcohen5055
Tie the data in with people's lunch calendars and you can start forcasting
peak toilet demand!

------
antihero
Your office is absolutely beautiful. I hope one day our company will inhabit a
space that nice.

------
collyw
I wish I had the type of job that involved enough free time to do something
like that.

------
bretr
reminds me of this:
[http://www.sanbornmediafactory.com/portfolio_pieces/bum/](http://www.sanbornmediafactory.com/portfolio_pieces/bum/)

design firms love to know when their toilets are free

------
dhughes
It should have a gas alarm on it to at least add 10 minutes after a flush.

------
TomGullen
Could actually provide life saving information in fire situations

------
bluerail
Wow.. How a simple random thought could build into something...

------
benatkin
Free as in beer or free as in speech?

------
danielweber
This website gave me motion sickness. If it's some art project, good on them.
If they're trying to communicate information, -1.

------
arbitrage
That animated background header is making me very motion sick. Ugh.

~~~
benaiah
Can we stop with the nitpicking meta bullshit on every freaking article,
please? I don't care about the things you dislike about a random webpage. It
wasn't submitted because of a header. In order to read the article that we're
actually discussing, you have to scroll down to where you can't see it
anymore. It's a 10-second-at-most mild irritation. I would understand if it
was an epilepsy warning o something, but it's not.

The fact that these comments get made wouldn't be a problem, except that
people, since they agree with the complaint (as I happen to do in this case)
keep upvoting the damn things. At this point, there's a good 20% chance that
any given comment thread is gonna start with the same boring arguments we've
had four hundred thousand times on this site already that I have to scroll
down past to talk about actual article we're discussing.

These kind of comments are cheap, effortless, and do nothing but degrade the
quality of discussion and make participation a PITA for people who want to
actually talk about the relevant article instead of random web design
complaints.

~~~
Mister_Snuggles
This kind of "nitpicking meta bullshit" is valuable feedback to someone, like
a startup, who might be marketing a product and hoping to not turn away
customers. Sure, this particular thing isn't selling a product, but how many
people would be turned away if it was?

~~~
benaiah
Like you said: "this particular thing" isn't selling a product. "This
particular thing" didn't ask for this feedback, doesn't need it, and may very
well never see it. The fact that there are a few rare exceptions where this
kind of discussion is helpful doesn't change the fact that, 90% of the time,
it's a low-quality, useless waste of time.

