Messed-Up App of the Day: Embedded Toilet

I apologize. I know the photo is unsavory, but this toilet—this one in particular—has a lesson to teach us.

Look real closely at the lid. Not the seat lid, but the tank lid, there at the top.

That lid. Is caulked. To the wall.

Not only that, it is cut into the wall. The caulk is to make the hole in the wall look better.

My wife’s response was perfect: “Should be fine for a little while.”

Of course, modern toilets are designed with an openable tank for a reason. This one’s manufacturer went to the trouble of providing a removable lid because something in that tank, eventually, is going to need looked at, repaired, or replaced. Maybe not today, but sometime. And when that day comes, it’s supposed to be easy to just lift off the lid.

But this lid has a surprise in store: it’s glued into the wall. To open up this baby, you’re going to have to cut and peel your way through that caulk. It’s going to be a mess. You’re probably going to wish you had some paint. And maybe some mud and a trowel.

Sure, caulk is not permanent. But it’s more permanent than how long the owner of this toilet is going to want that lid on.

A desirable trend in technology is for the designs of our various things to evolve in the direction of becoming easier and cheaper to maintain. For example, most modern cars report all sorts of on-board diagnostics to a computer. It cost a lot of time and energy to create that feature, but it makes their cars easier to debug and maintain. That’s a valuable outcome for the consumer. It’s the opposite of welding your hood shut (*cough cough Apple*).

Software is the same way. I’ve learned that it’s imperative to build features into code I write that exist solely to make my programs easier to debug and maintain—features like logging and tracing. They’re features that my users may not ever think to ask for, but they’re just as necessary as the openable panels in our cars that give us access to our engines and motors and fuses. They improve both the reliability of our products and the long-term cost of operating them.

This toilet has many lessons for us. Ultimately, its most important maintenance feature is downgraded now (not to mention the obvious cosmetic atrocity) because the hole in the floor beneath it was too close to the wall for a toilet of its size.

So, here’s a tip for you. Whenever you get a new thing and you just can’t get it to work the way you expect, try asking yourself the following question:

“I must be the gazillionth person to have had this problem. So then, why have I never seen anyone have to go through the kinds of contortions I’m considering?”

That usually leads me a little closer to the right way of doing things.

I think, in the case of this toilet’s installation, there’s an element missing that would have eliminated the need to cut a hole in the wall. It’s a part called the “offset closet flange.”

It’s important to understand the set of features that are available for use in one’s project domain.






3 responses to “Messed-Up App of the Day: Embedded Toilet”

  1. Clay Jackson Avatar
    Clay Jackson

    Ha! Reminds me of a friend of mine who visited Japan and became enamored with the “smart” toilets in their hotel, with heated seats, a bidet, automatic lids, and all sorts of other “features”. He came home, and having more money than common sense. replaced all the toilets in his house.

    Then we had a wind storm and power was out for a week 🙂 His wife checked into a hotel the first night, he lasted about 36 hours.

  2. Raymond Allo Avatar
    Raymond Allo

    I think the term seamless integration comes to mind. Marketing thought it was brilliant.

  3. Paul Drake Avatar
    Paul Drake

    at some point the plumber’s doeskin colored van with pvc pipe up on the roof racks full of copper tubing will include a 3d printer that can fabricate the part faster than a drone from the plumbing supply store can send one over.

    what? they use PEX now instead of copper? so you’re saying that even plumbers can adapt?

Leave a Reply

Your email address will not be published. Required fields are marked *