Documentation contents

Buddy Web

Every person who gets phone calls of the "how do I find my files" type knows how frustrating it is when you have to imagine what the user is seeing and can't quickly whisk through the file system to check things out. What would take a buddy five seconds can be virtually impossible to describe accurately over the phone.

BFM solves this problem by giving the buddy an over-the-shoulder view of BFM and the user's file system.

Buddy web uses the HTTP protocol which means that a buddy can connect (if invited) from anywhere without any special program.

Getting started

Buddy web is always initiated by the user. (There is no way for a snooper to 'break-in'.) From the utilities menu option pick Invite web buddy. After a few moments a message should appear which gives the details the buddy needs to enter into their web browser. It will look something like http://101.100.99.98/1234 When the buddy types this in they should see an opening screen as shown below and the user will get a confirmation message. Now you can talk on the phone with the buddy having an 'over the shoulder' view of the user's screen.
There are reasons why this may not work. See the technical details if this doesn't work smoothly.

The rest of this documentation describes Buddy Web from a buddy's perspective.

What a buddy needs

Because of the possible firewall issue described in the technical details section below, it is worth the buddy having a quick hands-on test of the user's machine in order to sort out any unblocking/redirecting of port 80 traffic. Inviting buddy will do all the necessary tests for server visibility so this can be tested on-site. It is also possible to experiment locally by using the URL http://localhost/nnnn (replace the security code nnnn as given)

Basic web interface

The object of the buddy web is to help the user do whatever it is they're trying to do for themselves. The only direct interaction with the file system is the ability to create directories remotely. The web shows a mimic diagram of the 'meat' of what the user is looking at and also a file/directory browser plus some basic system information. The display you see is meant to be informative rather than an exact rendering of the user's screen. You will see details of things that they won't.
Feedback on what is useful, what isn't and what would be nice things to have is very welcome.

Top controls

The top of the screen is a standard layout

System information

Core information

Some data about the BFM program itself. Clickable links to Store and Shelves. The current screen being viewed by the user.

Configuration

The run counter is the number of times BFM has been started. This gives you an idea how much the user is really using BFM.

Paths

Most of these are clickable.

Drives

This tells you the state of the various drives. This can be very useful when the user plugs a USB stick in but doesn't know what drive letter it is, or has forgotten to check that the extension cable was removed to attach something else.

File system

This is a direct view of the user's file system. This is often accessed through clickable links in System information.

Controls

Listing

Remember that the user is completely oblivious to what you see and do here.

Over the shoulder - Main screen

Compare the following two screenshots: First the buddy's view then the user's view taken at the same time.

Over the shoulder - Browser

Over the shoulder - Move/copy

The number of choices available when moving and copying together with bad past experiences can make this quite stressful for a user.
The presentation of the Move/copy dialog alters depending on the type of destination. In the comparable (extract) screens below, note:

Technical details and troubleshooting

This section may need looking at if there are problems getting connected.
Invite web buddy does two things in order:
  1. A tiny web server is started within BFM listening on port 80. This might fail with an error message which probably means there is another web server operating already. For the sort of person using BFM with a buddy this would be a bit worrying.
  2. Sends a http GET request to http://vulpeculox.net/BFM/ipaddress.php. This returns the user's current 'world-wide' IP address and checks that the server is visible to the outside world. A common problem is that the user's firewall and or router may block anything incoming on port 80. This is a fairly harmless state of affairs for most users but will stop buddy web from working. On the other hand, opening port 80 should be safe enough.
    Shields Up is a port-scanning website will tell you what ports are accessible in general.
    The response to the GET request gives the users current world-visible IP address and confirmation of being able to see BFM's Buddy Web server.
At this point BFM is listening on port 80 waiting for the buddy's browser to send a http:// GET request. The user will have a message box telling them the IP address and a four digit security code the buddy needs to put into their browser's address bar. The IP address to connect on (may vary) and a four security digit code to finish off the URL (will vary randomly each time the user starts BFM). The user reads these out to the buddy and both user and buddy should see when a connection is established.
Buddy web will work fine over a low bandwidth dial-up connection.

Documentation contents