Leveraging Technology in an Information Session

One of the things that I have the opportunity to do on a regular basis is manage technology needs in an Informational session on a weekly basis.  This was the kind of thing that involved a lot of learning along the way, and needing to find solutions quickly, on-the-fly.  What I want to do with this particular post is to share how I’m able to leverage technology to do what I do.

If you’ve read my About page, you will already know that I primarily use Apple products.  Many of the things that I will describe can be done with a Windows PC or other devices, but I personally don’t think that it’s as easy to do so.  I have a MacBook Pro 17″ from late 2006, and an iPhone 3G, as well as an Airport Express.

Let’s get the easy stuff out of the way first.  One of the first things that I had to be able to do was display pictures and video, and play audio.  This is very easy to do, but it does require the right equipment.  This is also something that can be done with any computer (even a netbook).  For audio, I use iTunes, but any media player will work just as well.  What’s really key are speakers that are sufficiently loud to fill an entire room.  For a small room, it may be possible to use a small, semi-portable stereo system (such as a “boombox” or large CD player), as long as it has an Aux (short for Auxiliary) mode to accept external input.  For video display, a projector is most common, but it is also possible to use a flatscreen TV, as they are commonly able to accept standard input from computers, such as VGA.

Now here’s the more unique situation that I find is quite uncommon: in the informational session where I run technology, we have an enclosed cabinet on one side of the room, where an amplifier is connected to the speaker system that is installed in the room.  For the audio portions of the presentation, it makes the most sense to keep the computer in the cabinet, so it is out of sight and out of the way.  But computers generally don’t read and respond to your thoughts, so you need some way to interact with it in order to get it to play what you want it to play when you want it played.  How in the world is it possible to do this?

My most natural thought was to see what options there were to control my computer from my iPhone.  There are plenty of applications that let you login to your computer remotely through a VNC connection (if you’re wondering, VNC stands for Virtual Network Computing).  However, the problem with many of those applications is that they require you to “click” your mouse by tapping your iPhone screen, and they expect you to use this as your primary interface with your remote computer.  This is not inherently a bad thing, but as you can imagine, an iPhone isn’t the best thing for exact clicking on a much larger computer screen.  So I kept searching around, and I found one really great application called RemoteTap, by ReadPixel (here is a link to their homepage).  This one iPhone app is the foundation for being able to run my computer remotely.  Here’s essentially how it works:

  1. First, you install the app on your iPhone (obviously), then you navigate to the ReadPixel website to download the Mac OS X Preference Pane that makes all the magic happen.
  2. Install the Preference Pane, and turn on the RemoteTap server within the Preference pane
  3. Have your iPhone and Mac connected to the same wireless network.
  4. Launch the iPhone app and connect to your Mac

These are the abbreviated steps, because this isn’t a walkthrough for RemoteTap.  Here’s the point:  RemoteTap has specific features within the app itself that make controlling a computer from a phone very simple.  Features like:

  • Easy screen switching or “Space” switching
  • A full list of all applications installed on the computer, as well as a list of apps that are running
  • Volume control
  • A pop-out keyboard
  • Custom keyboards

Ok, let me give a specific example.  Let’s say I need to have a movie play on the TV in the front of the room.  What I’ll do is take advantage of the the Spaces feature offered by OS X to keep the video player out of view until I’m ready to play the video.  I’ll also keep the volume turned down (not necessary, but when running technology, you quickly learn to always plan for the unexpected).  With RemoteTap, I can turn the computer volume up at the appropriate time.  Then, I can switch to the Space where I have the video player set to full screen.  Then I can use the keyboard to take advantage of keyboard shortcuts (such as using the spacebar to play and pause) to control the playing of the video.  All of this while the computer is hidden away in a cabinet, preventing it from being a distraction to anyone else.

As I mentioned, RemoteTap requires the computer and the phone to be on the same wireless network.  Here was where I encountered a certain hiccup:  the normal hotel wireless network that we use for internet doesn’t seem to allow RemoteTap to connect to my Mac.  So I had to create my own wireless network.  That’s not too hard, as my Mac is capable of generating its own wireless network with itself as the base station.  This was where I encountered yet another hiccup:  the iPhone doesn’t like to stay connected to a wireless network when there is no internet connection.  I actually think this is more to do with the IP address that is given to the phone by the network, but I haven’t really looked into it too deeply.  This is where the Airport Express comes in:  The Airport Express doesn’t require an internet connection to maintain a good IP address, so I use it instead of my Mac’s built-in ability.  But that lack of an internet connection comes back to bite here, too.  Connecting the phone to the Mac seems to take a long time (much longer than when using my network at home), so I figured out a way to essentially keep the connection open.

My iPhone is jailbroken, which allows me to install extra software on it, such as OpenSSH.  This allows my phone to act as an SSH server and to receive SSH connections.  So, I established an SSH connection from my computer to my phone to essentially keep the connection open.  With this setup, I have a solid connection, and no slowness when using RemoteTap.  This also means that I don’t have to be directly accessing my computer to make all the “magic” happen.

Of course, when people ask me how I do all this from my phone, I like to just say “There’s an app for that.”