I recently thought about this question when watching a documentary on fishing in the Antarctic. There was a need for some data on catch history and they radioed for information which was relayed by voice even though they had a laptop. It turned out that they did not have any internet, so couldn’t send or receive data through conventional methods. This must be the same the world over, right? – Fisherman, researchers, off-gridders and remote communities must all experience times when visual analysis could provide beneficial or even be lifesaving.
So how could we design something to achieve this?
The one thing all of these groups seem to have in common is a radio transmitter/receiver. This is their connection to the outside world and could be used as data transmission device to transmit the data as audio. The next question is; what do we send? Do we send source data or do we send the entire thing (an image). If I am sending data I imagine I could leverage something like Alteryx to output a TDE and then encode it into an audio format before sending it. The benefit of this is that if the receiving end has Tableau Desktop or Reader, it can be used as an interactive viz. One con is that audio can be prone to interruptions which when sending data could result in a TDE not working. If I am sending the entire thing as something like an image, I don’t need to worry about software versions, missing small bits of data or any technical skill requirements. One con would be that this is just a static image. You are at the mercy of the dashboard developer to answer all of your questions during the development of the dashboard… one other problem is the level of detail you can send, however a single viz with pertinent information should be possible.
Let’s say I know I am going to send it via radio and I decided I would send an entire Tableau dashboard (subscription image). What is there out there that is free and is robust enough to be used in this method? The answer I came up with is SSTV (Slow Scan Television). This is a process of encoding an image that is normally taken in a remote location, changing it into audio format and sending it via radio to a receiver that then decodes them and displays an image on the other side. Think dial-up, but even more low-tech. Interestingly this is the same process for sending images from the Mars Rover to NASA or from other exploratory vehicles in space. If it is good enough for them then it should serve well in this instance – and most importantly, it’s free!
So what will this process look like?
I see this working something like this: Tableau Server Email subscription > SSTV encoder > *Radio Transmission > SSTV decoder
*There are a number of options available to send transmissions including LFR, VHF, UHF and X-Band. As VHF is the most common, we will use that in this experiment.
The biggest consideration with radio is range, which is limited by line of sight without any type of repeater. This means from ground to ground, a normal person standing has a range of around 3 miles. If the transmitter is a 330ft Radio tower, the range is 22 miles. If the tower is on a hilltop it can be upwards of 60 miles… and if you look up, a 23 Watt VHF radio transmitter can communicate with Voyager (+11.7 billion miles away) which would be some kind of world record for sending a dashboard, right?
So what do I need?
A pair of radios and a pair of computers with encoders/decoders for SSTV installed. I am using some Terrain 750 radios, my iPhone and my iPad (and the assistance from my missus who kindly let me use her phone and did the transmission for me!). I have to admit that because I used my iPhone and iPad I did have to pay someone £2.99 for an app, but to prove it is free and that this is a zero cost solution, you can find a link to a free windows version. It is also available for Mac OS, etc…
Download a copy of a free SSTV encoder/decoder here: http://users.belgacom.net/hamradio/rxsstv.htm
So here it is, the proof of concept test:
Ok, so a few thoughts after this test. The quality was quite low. This means that the viz would need to be bold, but this isn’t too much of a hassle. It would just be a design consideration. The good news is that this does work.
What could we do to make this better? How about make it request based? Send a request tone and provoke a transmission of a particular viz… that’s certainly possible with some more time, otherwise it would need to be scheduled off the back of the Tableau Schedule. If it is a schedule, have a different “feed” at various frequencies.
Remember this was just a proof of concept. It is nowhere near a complete solution or even the right solution… but it does work. I can now in theory send a Viz to the moon or even out beyond Voyager, which is actually really cool if you think about it, right? Ok, it might just be me who gets a little excited by this geek-out. 🙂
Thanks for taking the time to follow through this. I know it is not my normal admin view type post, so I hope you found it a little interesting. Next time I will be showing you how to read some VizQL logs for service performance analysis.