Show HN: macOS app that shows how full the urine tank on the ISS is

github.com

12 points by jaennaet 3 days ago

Yes, the urine tank on the International Space Station. In real time, I might add!

This uses the official live telemetry stream from Lightstreamer, although – at least at the moment – it doesn't eg. check what the signal status is so telemetry might be down altogether and you'd never know. Maybe in v0.2.

Native menu bar application, so it doesn't require running a copy of Chromium and Node to show you two emojis and a percentage.

I got the idea for this when somebody linked to https://iss-mimic.github.io/Mimic/ joking about how we can see in real time how full the urine tank on the ISS is; after I understood that there's a public live telemetry stream I knew in my heart I had to do something very silly with it. I've also finally been learning Swift and macOS programming in general and I figured this'd be an excellent first Swift project, so here we all are.

Just as an aside, the "ISS Mimic" project itself is very interesting and worth checking out (https://github.com/ISS-Mimic/Mimic). I'm in no way, shape or form affiliated with them and they have no idea who I am.

Rldm840 3 days ago

Hey jaennaet, that's so cool! I work at Lightstreamer and we have never met before.

I often use the urine tank level as an example in my presentations. It’s a fun way to demonstrate streaming real-time data from space (literally) to web and mobile apps.

For a bit of background: NASA selected us back in 2010 for a project called SSLive, aimed at making telemetry data from the ISS publicly accessible in real time via an open feed.

If you’re curious about the full range of metrics available, you can explore the original GitHub project here: https://github.com/Lightstreamer/Lightstreamer-example-ISSLi...

dattiimo 3 days ago

I haven’t tried the app but love the randomness of being able to view the level of the piss tank on the ISS. We need more apps like this.

  • jaennaet 3 days ago

    I absolutely agree!

    While some people maybe have a bit of a tendency to treat programming and computing in general as Very Serious business and only really ever work on Very Serious projects, I'm obviously in the camp that encourages doing frivolous silly things for equally frivolous silly reasons.

    And there really is something about the fact that it's not only feasible but downright trivial to bang out an application in an afternoon that reads realtime telemetry data from a frickin' space station's toilets, that's just… I don't know, delightful? Sort of amazing?

galfarragem 3 days ago

That's why I come to HN... There is always something that surprises you!

  • jaennaet 3 days ago

    It really is kind of surprising in addition to being very silly; there's something great about the fact that we live in a world where I can use realtime telemetry data from a space station's toilets for a joke.

    Wasn't quite sure if the local crowd was going to be receptive to this sort of tomfoolery (and I'm posting this with my "non-serious" alter ego with no history here), but at least the post isn't dead yet.

    • getwiththeprog 3 days ago

      This kind of joke is great, as a beginner programmer you get your app and I get to learn to view the ISS telemetry data.

      For those like me not on iOS, you can view the web page of info at https://iss-mimic.github.io/Mimic/ and find the Urine Tank level under "NODE3000005 Urine Tank [%]" which is currently at a value of 31.

vednig 3 days ago

This is cool, when can we expect a Windows version?

  • jaennaet 3 days ago

    Unfortunately I will have to leave that to outside contributors (who will surely be legion.)

umutdev 3 days ago

this kind of thing used to be made for touchbar

  • jaennaet 3 days ago

    Interesting, I'll need to dig that up. pISSStream got its first feature request and it was touch bar support, and I can't just say "no" to that. Turned out however that Apple apparently doesn't officially support having your app on the touch bar unless it's in focus, but I've gathered there's a kluge (which I'm not sure even works on current macOS versions) that involves using a private framework and API, and which is doubly kluge-y to use from Swift because it has no equivalent for extern, so you need to add an ObjC/C header and a bridge header thingamajig to your project.

    That of course only made me more determined to git'r'done, I'll be damned if I let Apple stand in the way of a joke.