Like LogMeIn, TeamViewer 5 is firewall-friendly and uses the standard HTTP port (port 80) to connect a remote client to a host computer. Unlike LogMeIn, TeamViewer does not use a browser or intermediate website. Each side must run a small agent, either an installed client application or a no-install, memory resident client, to make the connection. I tried TeamViewer both ways with success. During remote sessions, the installed agent used only 13MB of RAM, while the memory resident agent used just 7MB. TeamViewer 5 works with all versions of Windows from Windows 98 to present, and with Mac OS X 10.4 and up.
TeamViewer (installed version) can be set to start prior to the Windows login screen. It even allows a remote user to reboot the host PC into Safe Mode and reconnect. This is a fantastic feature for anyone doing remote help desk support.
Video performance was very good with just a slightly discernable lag in screen refreshes. One feature that I really like is its ability to handle multiple displays on the host. A remote user can choose which monitor to view, or they can view both at once. However, if the remote monitors are at a high resolution, the view is too small to be usable. I also like that once connected, I can choose to "switch sides" with my partner. This means that one user can initiate the connection, then pass control over their desktop to the second user later in the session.
Remote printing is supported a little differently in TeamViewer. Unlike Remote Desktop, TeamViewer doesn't redirect print jobs to the remote client. Instead, you must turn on the VPN in the TeamViewer agent at each end of the connection, then map a printer on the host computer to a shared printer on the remote device. It's a bit of a kludge and not the easiest task for nontechnical users.
TeamViewer is available in commercial versions that add more features, but at a substantial cost. The free noncommercial version is a good choice for basic remote access, but if you need to print remotely, other tools simplify the process.