Frequently Asked Questions

General
BuddySpace client
buddyspace.org server
Maps
Research & Projects
Jabber
Developers

General

Where can I find more information?
Have you got some discussion forum?

BuddySpace client

What are the features of BuddySpace?
Where can I download the executables from?
I'm having trouble logging in... What's wrong?
How does the file transfer in BuddySpace work?
Can I use BuddySpace through a proxy server?
Can I use BuddySpace through a socks server?
Can I run BuddySpace on a Mac?
Why I can't run BuddySpace on Linux?
Which groupchat / conferencing does BuddySpace implement?
When starting groupchat with MUC conference I get an empty window and "Error 501: Not Implemented". What's wrong?
What do I need to do to use the extra features of BuddySpace (published maps, plan,...)?
My work keeps getting interrupted when someone sends me a BuddySpace message and it 'grabs control' of my mouse... what can I do?
Will you be adding Secure Sockets Layer (SSL) support?
Where can I find a server to test BuddySpace?
I'm having trouble installing BuddySpace... what's wrong?

buddyspace.org server

Why should I use the buddyspace.org server? What are the features?
I can't register on buddyspace.org server... What's wrong?
How can I change my details and password on buddyspace.org?
I forgot my password, what can I do?
Why do you allow only groups and not individuals on buddyspace.org?
How can I create our group on buddyspace.org?
What server version does the buddyspace.org use?
Which groupchat / conferencing does buddyspace.org provide?
I can't see people who are online on other servers... Why?

Maps

How do maps work in BuddySpace?
How are you exchanging location information?
How do you locate people, e.g. in buildings?
Can you explain the map tags in each map's '.ygf' file?

Research & Projects

Is BuddySpace being used in any wider projects, e.g. for group collaboration tools, e-learning, etc.?
How does BuddySpace integrate with other login methods, personal user-profiles, shared databases and project management?
Are you looking at other features of collaborative environments (messaging with roster and groups management, file transfer, chat, meetings, and sharing of resources as Voice and Video)?

Jabber

What are all features jabber can offer?
How does the file transfer in jabber work?

Developers

What is the licensing for BuddySpace?
Where can I download the sources from?
Where can I find documentation of the source codes?
I can't make the sources… What's the problem?
Can BuddySpace have a web-interface / run as an java applet?
Can I use BuddySpace source codes in my project?
Can I do changes to BuddySpace?
Where could I find more info about skin making for the BuddySpace?
Why and what's different in your version of jabberbeans.jar?
How can I add my custom extensions to BuddySpace?

General

Where can I find more information?

The project main web page address is http://kmi.open.ac.uk/projects/buddyspace/ or http://www.buddyspace.org/. There's a subsection of it dedicated to developers on http://kmi.open.ac.uk/projects/buddyspace/developers/; containing javaDoc of source codes, etc.

Back to top


Have you got some discussion forum?

Discussion forum about BuddySpace runs on http://buddyspace.org/BB-forum/.

Back to top



BuddySpace client

What are the features of BuddySpace?

BuddySpace is an open source, Java-based Jabber client. It supports following features:

and many more...

Back to top


Where can I download the executables from?

They are on http://kmi.open.ac.uk/projects/buddyspace/ under downloads.

Back to top


I'm having trouble logging in... What's wrong?

There are many factors at play here, and you need to double-check the following carefully, and study the error message you get:

Back to top


How does the file transfer in BuddySpace work?

The method currently used in BuddySpace works in 2 steps:

  1. uploads the file on a web server using the HTTP PUT method
  2. sends jabber:x:oob with URL of the uploaded file
  3. the recipient downloads the file from the URL it received using HTTP GET

It means you need an intermediate/proxy webserver that supports PUT command. More about file transfers in How does the file transfer in jabber work?

Back to top


Can I use BuddySpace through a proxy server?

There're actually three possible proxies you could mean:

  1. Socks server used for the connection to the jabber server on port 5222 or 5223. It is usually used to safely connect through a firewall. For current support in BuddySpace see Can I use BuddySpace through a socks server?
  2. A HTTP web proxy server used for tunnelling of the connection to jabber server through port 80. BuddySpace doesn't support HTTP tunnelling.
  3. HTTP web proxy server used for files down/up-loads. You can set this server in the Preferences...

Back to top


Can I use BuddySpace through a socks server?

The current version of BuddySpace (2.5.2) doesn't use a socks server. However it will appear in the next version...

Back to top


Can I run BuddySpace on a Mac?

Yes! Generally you'll need at least Mac OS X. There's a special version for Mac (the BS*-mac.sitx) which bandles all necessary files into a Mac application and should be recognized by the OS. Alternatively you can download the zipped cross-platform version including the .bat and .sh files and then run BuddySpace running the .sh file or copying its contents into the unix console/shell window.

Back to top


Why I can't run BuddySpace on Linux?

Yes, you can! Download the zipped cross-platform version including the .bat and .sh files. Change the batch to be executable (using chmod u+x buddySpace.sh) and run it (alternatively you can copy its contents into a console/shell window). It expects the java runtime installed and being in your path.

Back to top


Which groupchat / conferencing does BuddySpace implement?

Previous versions of BuddySpace used conferencing namespace jabber:iq:conf. That became incompatible with the new JEP-0045 MUC so we moved to pure groupchat standard which is compatible with it although not providing all its functionality. In future we plan to implement MUC.

Back to top


When starting groupchat with MUC conference I get an empty window and "Error 501: Not Implemented". What's wrong?

Versions of BuddySpace 2.5.1 and sooner used conferencing namespace jabber:iq:conf which is incompatible with the new JEP-0045 MUC. This was solved be removing the incompatible bits (moving to pure groupchat) from version 2.5.2.

Back to top


What do I need to do to use the extra features of BuddySpace (published maps, plan,...)?

The protocol extensions / features of BuddySpace client can in principle run on any server though they require at least the pub/sub component running (used for published maps, plans, geo-locations,...).

Back to top


My work keeps getting interrupted when someone sends me a BuddySpace message and it 'grabs control' of my mouse... what can I do?

Follow the menu sequence: Jabber... Preferences... Alerts tab. You'll see that selecting 'Auto-popup new messages' brings new messages and chat windows directly to the front when this is checked (and 'grabs control of your mouse', which you may not want), whereas leaving it unchecked yields a more subtle alert (the tab is highlighted in red but remains in the background). Unchecking it should solve your problem.

Back to top


Will you be adding Secure Sockets Layer (SSL) support?

SSL support is available since version 2.5.1

Back to top


Where can I find a server to test BuddySpace?

As far as having a public server for trying BuddySpace, the best thing is to download it, and in the login box opt for the following parameters:

username: [your choice]
password: [your choice]
host: jabber.org or jabber.org.uk
(both public: see also www.jabber.org/user/publicservers.php for a full list of friendly servers you can use)
BE SURE TO CHECK THE
[X]New Account
BOX
the first time, since that will set you up with a brand new account...

Back to top


I'm having trouble installing BuddySpace... what's wrong?

The following advice addresses a particularly common occurrence that we have observed, but may not apply to your situation:

During installation, if the machine has BuddySpace already installed, you can install a newer one over the existing BuddySpace program: you'll get a question prompt asking if this is ok.

However you may see a message that the following files cannot be written over as they are in use:

skinlf.jar
jabberbeans.jar
buddyspace.jar

along with the error: "delete file failed code 32"

The real problem here is that there are actual unstopped/unfinished instances of either BuddySpace or the underlying Java Virtual Machine still running. A common reason for this is that you have merely 'closed' BuddySpace earlier without actually 'exiting'. You may see the BuddySpace 'radar screen' icon in the system tray (lower right corner usually), in which case you can right-click on it and choose 'Exit'.

If the above procedure hasn't worked, an alternative way to deal with this, in Windows, is (i) press CTRL-ALT-DEL, (ii) select the Task Manager, (iii) look at the Processes tab, and (iv) order them alphabetically by name, by clicking on 'Image name'. (v) If you see one or two cases of 'javaw.exe' listed, and you are sure you don't require any other Java application to be running, then it is ok to (vi) click on them and (vii) select 'End process'. When you have completed ending all 'rogue' javaw.exe processes in this way, you can then resume (or repeat) your installation.

Back to top



buddyspace.org server

Why should I use the buddyspace.org server? What are the features?

There are several changes we've done on buddyspace.org server to help in the start up of the group collaboration like automatic group generation, map generation, pushed map updates and so on. It provides a web interface to group administration. The pub/sub component running there allows publishing of maps, plans (intentions), geo-locations,...

Back to top


I can't register on buddyspace.org server... What's wrong?

The buddyspace.org server is dedicated to groups, not individuals (see Why do you allow only groups and not individuals on buddyspace.org?) and as such it is closed to public registrations; i.e. you have to have your login on this server prior to your first attempt -- even if you select "New Account" in the client. BUT we're happy to register you as a leader of your own group and then you can add the other members of the group using the webAdmin site on http://www.buddyspace.org/webAdmin/ - see How can I create our group on buddyspace.org? If you don't need any special group support you still can use BuddySpace client with one of dozens of public servers listed on http://www.jabber.org/user/publicservers.php

Back to top


How can I change my details and password on buddyspace.org?

You can change your details and password on the webAdmin site on http://www.buddyspace.org/webAdmin/

Back to top


I forgot my password, what can I do?

Go to the webAdmin site on http://www.buddyspace.org/webAdmin/, use your user name and choose "Forgot password (or need first)". A new password will be generated and sent to you by email. You can then change it to something easier to remember in the webAdmin.

Back to top


Why do you allow only groups and not individuals on buddyspace.org?

buddyspace.org server focuses on support for groups. Thus, login accounts are ONLY really sensible if you join with a small workgroup or social group of your own -- otherwise it's really like being the first person in a country to own a telephone, and there is nothing whatsoever you can do with it. Even having an existing roster (buddy list) is not really sufficient, because it is far better to join with a whole group using the same functionality ... automatic map updates, automatic roster construction, etc.

If you don't need any special group support you still can use BuddySpace client with one of dozens of public servers listed on http://www.jabber.org/user/publicservers.php.

Back to top


How can I create our group on buddyspace.org?

Go to webAdmin site on http://www.buddyspace.org/webAdmin/. Then follow the apply to become a group admin link and fill in a simple form.

In principle, the sequence of steps is as follows:

You can register members of your group all at once, update the database, publish new user-maps which will appear automatically on their BuddySpace clients, etc.

Back to top


What server version does the buddyspace.org use?

buddyspace.org runs jabberd1.4.2 with some custom extensions we made to provide automatic group rosters etc.

Back to top


Which groupchat / conferencing does buddyspace.org provide?

It currently runs an older conferencing component which uses jabber:iq:conf.

Back to top


I can't see people who are online on other servers... Why?

The server we use is a third party software and we noticed that time to time it has problems with seeing other servers. Since several public servers seem to experience the same problem, we guess it could be a bug in the server. We were not able to deduce any rules on when or why this is happening (just some servers are unreachable etc.).

Back to top



Maps

How do maps work in BuddySpace?

All maps in BuddySpace contain positions in pixels and are generated either by a separate application using a location database or by hand in BuddySpace. In the live maps, which are extension of the 'normal' ones, the projection is added that allows definition of position dependent on some parameters. The pixel location then serves as a default position when other parameters are not available. More info is on JEP-0110 Generic Maps and http://kmi.open.ac.uk/projects/buddyspace/ -> user guide -> maps -> how to

Back to top


How are you exchanging location information?

The exchange of location information is/will be implemented from BuddySpace version 2.5.3 using the JEP-0080: User Geolocation. It is used in live maps (see more in How do maps work in BuddySpace?)

Back to top


How do you locate people, e.g. in buildings?

Right now, we use a mixture of methods for location mapping:

  1. FOR GENERAL LOCATIONS (on UK & world maps)
    1. user groups can provide us (outside the BuddySpace program) with postcode-level details if they want, e.g. in these exist in our student database, BUT USERS MUST GRANT PERMISSION FOR US TO USE THIS, and in any event we only ask for very coarse-grained information (closer to regional level rather than street or town!)
    2. our own separate 'batch program' can generate dots on maps from this information
    3. the maps are then distributed as a separate download to select groups of participants and interested workgroups

  2. FOR OFFICE-LEVEL LOCATION:
    1. [BOTH again are contingent on users' permissions]
      1. we can deploy an enterprise-wide master database of user names and office locations
      2. we can determine specific location from many desktop PC IP numbers
    2. Office locations themselves are geocoded on the master AutoCAD drawings for every campus building
    3. Our own batch program can generate 'dots on maps' from a mixture of 1 & 2 above
    4. HOWEVER the maps vary in accuracy so a degree of 'manual tweaking is necessary'.

  3. FOR LIVE LOCATION 'TRACKING'
    This is a project we're actively pursuing at the moment!

Back to top


Can you explain the map tags in each map's '.ygf' file?

The map tag xmlns attribute has to point to http://jabber.open.ac.uk/tags/map

It is actually just a specification of the namespace used. More about the XML structure of maps can be found at http://kmi.open.ac.uk/projects/buddyspace/userguide/how-to/structure.html

The string is used by jabber communication stream xml parser to determine type of tag. Jabberbeans xml parser handlers are defined in Properties/Handlers.properties in the jabberbeans library jar file. The file modified for our purposes can be downloaded together with executables from http://sourceforge.net/projects/buddyspace/.

Back to top



Research & Projects

Is BuddySpace being used in any wider projects, e.g. for group collaboration tools, e-learning, etc.?

Yes, BuddySpace is definitely being integrated in wider solutions. We're now at the stage where we've got the platform in place to embark on the next phase, which is our real goal: to embed semantic web services, smart filtering/matchmaking capabilities, and live geolocation services directly into BuddySpace. A glimpse at how we're interacting with other tools and services can be seen in these projects:

1) ClimatePrediction.net (with Oxford University and Rutherford Appleton Laboratory) - a massively-distributed personal computing project to analyse complex climate changes; the project will deploy (in addition to a distributed model based on the Hadley Centre climate model) a semantic portal based on our own 'Magpie', and will use BuddySpace to foster peer collaboration... see www.climateprediction.net

2) ELeGI (see http://www.elegi.org) is large pan-European project which will be integrating our work on BuddySpace with a larger space of user logins, user profiles, shared databases, and e-learning systems; some elements of this exist today, but the 'full integrated system' is itself a matter of future research and development, which are doing right now (and therefore would be interested in maintaining contact).

3) CoAKTinG: Collaboritive Advanced Knowledge Technologies in the Grid (with The University of Edinburgh and The University of Southampton, Open University) - as part of a wider collection of tools (with 'Compendium', 'I-X', and 'HyStream') to enhance next-generation meetings and goal-directed teamwork, BuddySpace supports peripheral presence awareness, synchronous collaborationmanagement, and opportunistic real-time information exchanges... see www.aktors.org/coakting for some relevant overviews and publications.

Our colleague Simon Buckingham Shum, partner on the above CoAKTinG project, is working on a handful of relevant projects, notably:

Compendium (meeting facilitation & group memory capture): www.compendiuminstitute.org

ScholOnto (ontology-based digital library server for scholarly discourse & argumentation): http://kmi.open.ac.uk/projects/scholonto/

D3E: Digital Document Discourse Environment ... a tool for document-centric discussion (embeds a discussion forum, but in a much more interesting/motivating way): http://d3e.sourceforge.net

Back to top


How does BuddySpace integrate with other login methods, personal user-profiles, shared databases and project management?

The idea of BuddySpace project is very much in taking advantage of existing corporate databases and authentication methods to populate contact lists and authenticate connections...

Back to top


Are you looking at other features of collaborative environments (messaging with roster and groups management, file transfer, chat, meetings, and sharing of resources as Voice and Video)?

BuddySpace is based on Jabber (http://www.jabber.org) with some extra functionalities. The BuddySpace client itself manages contact lists, and provides groupchat. File transfers were implemented using an intermediate web server.

As for the voice and video, we use link to an independent flash application (running in any browser and through any firewall; i.e. no installation needed) developed also KMi called FlashMeeting (http://flashmeeting.com/). Also Hexagon is a nice application based on similar engine: http://cnm.open.ac.uk/projects/hexagon/. Another project similar project could be Lyceum http://kmi.open.ac.uk/projects/lyceum/.

There've been some discussions about standardization and implementation of video and telephony also into Jabber.

Back to top



Jabber

What are all features jabber can offer?

The Jabber main page is on http://www.jabber.org/ (there are also lists of servers, clients, server components and other utils). There's quite a lot of functionality already standardized or in progress of standardization (http://www.jabber.org/jeps/). Running projects can be found on http://www.jabberstudio.org/. There're several mailing lists about Jabber http://www.jabber.org/about/lists.php.

Back to top


How does the file transfer in jabber work?

Generally, there always are problems with file transfer - proxies, firewalls. The original way uses an intermediate/proxy webserver that supports PUT command; the whole process of transmission is a 2-stage process: sender puts a file on the server and sends an URL (in form of jabber:iq:oob) to an addressee who, in turn, downloads the file from the proxy webserver. More about the file transfer in jabber can be found on http://www.jabber.org/protocol/filetransfer.html (currently saying: "Informational documentation of the old jabber:iq:oob namespace (used for primitive file transfer) is now contained in JEP-0066. A more modern protocol is defined in the combination of JEP-0095 and JEP-0096.").

Back to top



Developers

What is the licensing for BuddySpace?

Apache 2 + some parts JOSL, see the licenses.txt file.

Back to top


Where can I download the sources from?

BuddySpace source codes can be downloaded from the developers section of the website on http://kmi.open.ac.uk/projects/buddyspace/developers/

Back to top


Where can I find documentation of the source codes?

The documentation on http://kmi.open.ac.uk/projects/buddyspace/developers/ includes javaDoc (describing BuddySpace classes), architecture and plug-in system.

Back to top


I can't make the sources… What's the problem?

For compilation of BuddySpace you need following:

  1. BuddySpace sources (from http://sourceforge.net/projects/buddyspace - zipped or from CVS)
  2. jabberbeans.jar - I had to make some changes to add BuddySpace protocol extensions, so it's not the same as the original from the JabberBeans project - the latest can be downloaded together with the executable version (http://kmi.open.ac.uk/projects/buddyspace/ -> downloads) OR you can compile it from sources - add the changes contained in BuddySpace sources to the original CVS checkout (http://kmi.open.ac.uk/projects/buddyspace/developers/ -> downloads).
  3. skinlf.jar - can be downloaded together with the executable version (http://kmi.open.ac.uk/projects/buddyspace/ -> downloads)

The compilation itself is done simply by compiling all the source *.java files (I'm using the Sun Forte for Java IDE. The main class is BSMainFrame.) There are no special configuration files needed to build the jar - just make sure you have skinlf and jabberbeans jar files in the classpath (mount their jar files) and the directory with BuddySpace source codes; the buddyspace.jar includes everything from the buddyspace directory except *.java (as one of the options when creating the "JAR Recipe").

Back to top


Can BuddySpace have a web-interface / run as an java applet?

In principle, browser-based applets could be developed for a more lightweight version, though this is not immediately on our research trajectory... We would nevertheless be interested in advising anyone who wanted to develop this from our open source code! BuddySpace was not developed with this in mind, so there can appear some problems while developing the applet version; e.g. the maps which need to be stored in a file.

Back to top


Can I use BuddySpace source codes in my project?

Go ahead! Most of BuddySpace is under Apache 2 license, parts JOSL and GPL… We are interested in hearing about your projects and happy to provide help.

Back to top


Can I do changes to BuddySpace?

Sure! Any help is welcome! You can send us your changes and we'll make our best to include them in the next release. If you wanted to work on BuddySpace more extensively we can create a branch for you directly in the BuddySpace CVS on sourceforge.net.

Back to top


Where could I find more info about skin making for the BuddySpace?

The skins in BuddySpace are done using the skinlf library (http://www.L2FProd.com/ and http://dev.l2fprod.com/). It appears as one of the java Look and Feel's and is able to read GTK (The Gimp ToolKit) and KDE (The K Desktop Environment) Skins to enhance your application GUI controls such as Buttons, Checks, Radios, Scrollbars, Progress Bar, Lists, Tables, Internal Frames, Colors, Background Textures, Regular Windows.

Back to top


Why and what's different in your version of jabberbeans.jar?

The jabberbeans project has been dead for some time now - there's a successor of it, but it has completely new structure. There are simply two reasons for the changes I made (i) handlers of custom xml tags have to be "registered" in the jabberbeans.jar and (ii) I needed to change some access rights to xml handler class methods to make their subclasses.

You can find the changed jabberbeans files in the sources of BuddySpace. There are two things which I've changed in the jabberbeans sources:

Back to top


How can I add my custom extensions to BuddySpace?

Probably the best way is to write your own plug-in (more information is / will be on http://kmi.open.ac.uk/projects/buddyspace/developers/). All plug-ins use common interface BSPlugin and are maintained by the BSPluginLoader. When implementing a new plug-in you may want to handle also some custom xml extensions. These are typically done by triple Tag, TagBuilder and TagHandler, which need to be registered in the Handler.properties file inside jabberbeans.jar. Best way to learn more is to look at the existing plug-ins.

Back to top