Setup Guide for VNC and iCody

We have decided not to develop Thetis for Linux, instead, we chose to use VNC technology which is a well-proven and wide spread technology, and many people might have VNC installed already.

Background:
VNC means “Virtual Network Computing” and allows you to access computer desktops of other computers with your own computers. To do so, You have to install a VNC server software on the other PC and a VNC client software on your own PC (obviously this means that you need to have access to both computers). iPhones and iPads can act as VNC clients as well and so does iCody. iCody only uses one feature of this technology and that is the capability of transmitting key strokes. To learn more about VNC refer to this article on wikipedia.

To use this new VNC connection type, simply run any VNC server software on your computer and connect iCody to it. On Mac OS X VNC is already included in the operating system, simply follow the instruction below. Just keep in mind that iCody is not a remote app, therefore no screen data are transmitted (to iCody), and iCody does what it’s meant to do: transmitting barcodes to operating systems.

Important note: Your iOS device and your PC/Mac has to reside in the same local network which means, that the iOS device has to be connected to the network using a WLAN access “inside” the network. (For experts only: If you use a static or known public IP, open the VNC port which is mentioned below in your firewall and setup a port forwarding to your PC you can connect from “outside”, too.)

1. Linux

Just load and install any free VNC server on your computer. This could be for example:

During installation you need to install the server part (or the silent server variant) only. The software and the service should start automatically on start up which should be your choice during installation.

Please leave all default settings untouched, except:

  • Check the port number. The standard port is 5900. When you change this setting you have to change the setting in iCody as well.
  • Set a valid password.

That’s it. In case a firewall is running on you computer make sure to open the right port. Otherwise your connection attempts will fail.

2. Mac OS X

Sharing

Mac OS X has everything you need on board. To activate VNC please open the “System preferences” and here the section “Sharing”.

In the following pane check “Screen sharing” and select the entry:

ScreenSharing

Please note the IP address of the Computer which can be found near to “Other users can access your computer at vnc://” (here: 192.168.178.183).

Leave everything untouched and click on “Computer Settings …”. Another window opens. Here, please check the second option and enter a password. Click OK.

VNCSharing

No further settings are necessary. Close the window.

3. iCody

Open up the Settings pane in iCody. Here you will find right at the top a new line where you chose “VNC” as connection type.

IMG_0003

In the detail settings enter the IP address of the VNC server (Bonjour and zeroconf won’t work here). The IP address shown in the screenshot above is only an example. Please use the IP address you did note earlier during the VNC setup. The port can be left to “5900” which is the standard port, unless you made a different setting on server side.

Click “Connect”. If a password is set on server side a prompt will open where to enter your password. A successful connection can be identified by the closed padlock and the green bubble on the right.

4. Notes

  • Certain special characters might be coded into QRCodes, and those might be transmitted wrongly. Strictly speaking, this is no bug in iCody, but rather a problem of the VNC protocol or the server. Basically any keystrokes in VNC rely on the US keyboard layout and have to be 2translated” tot the local layout of the server. Some servers (including OS X) do not not handle this correctly (or too correct but nevertheless wrong). The workaround for this issue, at least for OS X computers, is to switch the keyboard layout to US layout.
  • As a Mac user you don’t have to use Thetis anymore. In comparison to Thetis using the VNC protocol might be even “a bit” faster. But the data transfer between iCody and Thetis contains some security levels. And the special char handling described above is no problem using Thetis. It’s up to you.
  • Using the VNC protocol, which is public and well documented you are able to use iCody in your own environments. You could develop your own VNC server implementation which only handles the init phase, the authentication and incoming key strokes.