AE6RT Beacon

Beacon postcard

AE6RT Beacon Frequently Asked Questions

  1. What is AE6RT Beacon?
  2. Is Beacon free software?
  3. What computer resources do I need to run Beacon?
  4. If Beacon is distributed as a Java Web Start application, does this mean Web Start will download the entire Beacon application (all 4Mb+ of it) everytime I run Beacon?
  5. I don't know if I have Java Web Start installed on my machine. How can I find out?
  6. If Web Start runs by way of my browser clicking on a link, there may be browser compatibility issues. With what browsers will Web Start work?
  7. Briefly, how does Beacon work?
  8. What is JXTA and what is its relation to Beacon?
  9. When I run Beacon, what is a good sign that it's working?
  10. Why is the callsign of the remote station involved in the contact not included in the Beacon advertisement and therefore in the display?
  11. Would it not be more precise and therefore useful to display Lat/Long for both parties to a contact, rather than a fixed subregion model?
  12. When I publish a Beacon advertisement on the network, how long is it available for others to see?
  13. Don't DX clusters do more or less the same thing as Beacon?
  14. The first time I try to run and install Beacon using Java Web Start, I get scary messages about certificates and strong recommendations against installing the software. What does all this mean?
  15. Can I compile Beacon and run it on my own?
  16. When I click on the "Run Beacon here" link on your web site, I get a weird looking text file full of XML, and Beacon never runs. What's wrong?
  17. When I click on the "Run Beacon here" link on your website, it seems like it takes a long time for Beacon to come up and run. The disk spins, my Internet access LEDs are flashing wildly, but nothing happens fast. Why is that?
  18. Is clicking on the link on your web page the only way to run Beacon?
  19. Can I run two instances of Beacon at the same time?
  20. My subregion is not listed in the various QTH drop down lists. Why not?
  21. Aren't some of Beacon's QTH subregion definitions redundant or overlapping?
  22. How do I report bugs, feature requests, or otherwise comment on Beacon?
  1. What is AE6RT Beacon?

    Beacon is a free, distributed peer to peer application that allows ham radio operators to share with each other observations of successful band propagation events.

    Beacon in the simplest sense is like a traditional "bulletin board". Notices are posted to the board, and notices are read from the board. In the case of Beacon, these notices constitute "band open" announcements or assertions.

    Every announcement in Beacon therefore alerts users to propagation conditions between two different parts of the world. In this way it is useful to hams who want to make contact to those parts of the world at that moment, but also perhaps to scientists seeking realtime information on propagation phenomena. The latter would require lots of Beacon users on a consistent basis.

  2. Is Beacon free software?

    Yes. Beacon is free and open source software. There is no charge for using it. There are, however, licensing restrictions. Find them here.

  3. What computer resources do I need to run Beacon?

    Beacon is written in cross-platform Java, which means it should run on Mac OS X, Linux, Solaris, and Microsoft Windows with an installed 1.4.2 or later Java Runtime Environment (JRE). Java is both a programming language and a runtime platform developed by Sun Microsystems.

    I don't have a lot of experience with Java under Microsoft Windows, but I recommend Windows XP if you can arrange it. Microsoft Windows users will have to install a Java Runtime Environment if they have not already done so. I do not know whether Microsoft Windows 98 supports Java and therefore Beacon. I suspect Windows 2000 supports Java, and therefore Beacon, but that is speculation. Contemporary (circa 2003?/2004/2005) versions of Mac OS X ship with a Java JRE already installed. Linux users may or may not have to manually install the Java JRE, depending on their distribution.

    Beacon is launched on your computer using Java Web Start. More on Web Start here. Web Start should be automatically installed when you install a JRE version 1.4 or higher. Web Start is a Java mechanism by which the application and its supporting libraries ("jar files") are downloaded over the Internet and subsequently run on the local Java virtual machine.

    Internet connectivity is also a requirement for running Beacon. The library files and main application are about 4Mb total size. While you should be able to run Beacon successfully over dialup, it will take a while to download this initial distribution. High speed Internet is therefore preferred.

    You must be connected to the Internet when you run Beacon. Otherwise you will see no band open announcements from other users, nor can you successfully publish any.

  4. If Beacon is distributed as a Java Web Start application, does this mean Web Start will download the entire Beacon application (all 4Mb+ of it) everytime I run Beacon?

    No. Web Start will periodically check for Beacon updates, and will not download the entire 4Mb every time you run the app. Only when the Beacon app has been updated will Web Start download the new version.

    When the developers at JXTA.org release new versions of their library jar files and I deem it worthwhile to use the new library, I will upload that to the Beacon Web Start area on my site. Because the JXTA.org folks sign their jar files with an "ephemeral" key, you will have to do an 'Accept' in Web Start on their signature each time I upload the new jar file.

  5. I don't know if I have Java Web Start installed on my machine. How can I find out?

    Try this.

    If you do not already have Java Web Start on your machine, you can download it for your platform free of charge here.

  6. If Web Start runs by way of my browser clicking on a link, there may be browser compatibility issues. With what browsers will Web Start work?

    From the Java Web Start FAQ:

    "Java Web Start supports primarily Internet Explorer 4 or higher and Netscape 4.X. However JNLP files can be launched from any browser if the mime-type association is done correctly. Please note that Java Web Start uses the browsers settings and may launch a browser to show a URL these may/may not work with unsupported browsers."

  7. Briefly, how does Beacon work?

    All computers running Beacon are called peers. When an operator running Beacon makes a contact that he/she wishes to make known to the rest of the Beacon user community, the basic contact information is entered into the Beacon user interface and published to the Beacon network.

    The contact information in Beacon parlance is called an advertisement. Other Beacon users can query the network for these advertisements, and in turn learn about the contact and therefore learn that propagation conditions supported the contact. Those other users can then attempt to contact that part of the world, too, if their QTH matches one of the QTH's in the advertisement.

    Beacon conducts its JXTA network business on TCP port 9701. Java Web Start network business occurs on port 80, as it is http-based.

  8. What is JXTA and what is its relation to Beacon?

    JXTA is Sun Microsystems's peer to peer development and runtime platform. JXTA applications are described squarely in terms of publishing and discovering application advertisements of interest on its network. A JXTA advertisement is an XML document typically describing something a peer wants or something a peer has to offer.

    JXTA is a powerful platform for developing peer to peer applications. Its power results in some sense from freedom from having to code central servers to parse protocol messages for every new application written. JXTA peers route advertisements for each other, but do not interpret these advertisements for each other. Peers at the edge are responsible for querying the network for advertisements and interpreting their significance.

    Beacon is written on top of JXTA, and is therefore a JXTA application.

  9. When I run Beacon, what is a good sign that it's working?

    Within a minute or so of startup, you should see an entry or two in one of the band tabs in the Beacon user interface. This assumes that the network is up and that there are Beacon users who have published a band opening advertisement within the last hour.

  10. Why is the callsign of the remote station involved in the contact not included in the Beacon advertisement and therefore in the display?

    I wanted to include some notion of who published the advertisement, but felt with whom the contact was made did not further Beacon's fulfillment of its goal. That goal is to simply make known propagation conditions from one part of the world to another, and not necessarily to identify all parties to a contact.

  11. Would it not be more precise and therefore useful to display Lat/Long for both parties to a contact, rather than a fixed subregion model?

    Yes, it would be more precise but not necessarily better. While the publisher of an advertisement knows her Lat/Long, she does not necessarily know the Lat/Long of the other station. For this version of Beacon, I stuck with the simpler fixed subregion model, which is information already gathered during a contact. For Beacon purposes, subregion is sufficiently precise to indicate basic band openings between two points on the globe.

  12. When I publish a Beacon advertisement on the network, how long is it available for others to see?

    The current default is one hour. After one hour, the advertisement expires and will not be returned in response to network queries. Advertisements may persist longer, depending on when the expiry routine in the JXTA platform runs.

  13. Don't DX clusters do more or less the same thing as Beacon?

    Yes, and no. DX clusters tend to identify the remote station by callsign, in hopes that someone can call that station to make a DX contact. Beacon does not seek to replace DX clusters, but to distill the information for purely propagation conditions purposes.

    Moreover, because Beacon runs on your local machine as a standalone application, a version of it may also be developed in the future that integrates with your logging program, such that entries made to that logging program are automatically published on the Beacon network.

  14. The first time I try to run and install Beacon using Java Web Start, I get scary messages about certificates and strong recommendations against installing the software. What does all this mean?

    Web Start does a good job of checking digital signatures on all the libraries, or jar files, it downloads over the Internet and which eventually run on your machine. Like your web browser, it has the ability to verify signatures produced with certificates issued by well-known certificate authorities (CA), such as Thawte or VeriSign.

    I can't afford any digital certificates ("cert") from a well-known CA that would actually support proving that I am who I say I am. And using one of the free "email" certificates that several CAs offer doesn't really prove a whole lot about whether I am who I say I am, either. So rather than me go through the trouble of acquiring a low-cost cert that doesn't prove much, puts my personal information in yet another commercial database on the Internet, and which will expire someday anyway, I just produced and signed my own certificate.

    This self-signed cert is technically and computationally valid but otherwise cannot be verified by Web Start as having been signed using a cert issued by a CA it knows about. Hence, the scary messages.

    I don't plan to use commercial certs to sign Beacon's jar files, and I plan to continue to use Web Start to distribute it. If you choose not to install Beacon because you cannot come to believe that I am who I say I am, and that I signed the jar files myself, then that's up to you. You would, however, receive no greater assurance of the integrity of the software had I produced a .exe or .zip file and asked you to download and run it. You'll just have to take my word for it that I am who I say I am, that I signed the jar files, and to look past the scary Web Start warnings. In retrospect, the language Web Start uses to discourage you from installing signatures it cannot vouch for are a bit over the top. Be wary, yes, but don't scare people.

    The JXTA platform and Bouncy Castle jar files were signed in the same way by their respective developers, and therefore the same applies to these signed jar files. Those jar files are distributed off my web site, but were signed by their respective developers. You'll have to take my word that they are distributed in the good form I found or compiled them, Web Start's warning notwithstanding. The alternative is not running Beacon.

  15. Can I compile Beacon and run it on my own?

    Technically, yes. However, I ask that you PLEASE NOT do that unless you use Beacon as the basis for a completely different JXTA application (which I encourage!), complete with unique peergroup ID. I make available the Beacon source code in the great amateur spirit of transparency, elmering, and information sharing.

    Beacon, like any application, relies on its application data integrity. In this case, that means the format and purpose of its advertisements, their uniform display, etc. If you modified Beacon and ran it amongst the other unmodified Beacon peers, it may not play well with them.

    So, on behalf of all Beacon users: read the Beacon source code and learn from it. Write your own JXTA application with what you learn. But I am the only person who should modify the Beacon code for its stated purpose. Otherwise, mayhem on the Beacon network could result, and the value of the AE6RT Beacon network would be lost. If you find a bug in Beacon or wish to see other features, drop me a note. I will fix and add features as time allows, and if you are a experienced Java and JXTA hacker, maybe you can work on the official Beacon distribution with me.

    If you have questions about Beacon internals or want to know more about writing JXTA applications, by all means drop me a note. I'm happy to discuss your goals with you!

    Thanks!

  16. When I click on the "Run Beacon here" link on your web site, I get a weird looking text file full of XML, and Beacon never runs. What's wrong?

    If it looks like this, then it means that your browser is not configured correctly to deal with Java Web Start JNLP files, including the beacon.jnlp file. The beacon.jnlp file is what you click on with your browser, and describes how to download and run Beacon over the Internet. The beacon.jnlp file is not meant to be read by a human, but is rather intended first for your browser, and from there, via your browser's MIME-type for .jnlp files, for the Java Web Start program to parse and act upon.

    Under Mac OS X, Java Web Start is already installed and should be ready to use. Under Microsoft Windows, installing Java Web Start via installing the Java virtual machine should setup the jnlp mime type for you. Under Linux, you may have to get more involved with your mailcap file or with telling Firefox, or whatever browser you use, how to deal with .jnlp files. The MIME type entry in mailcap looks sort of like this, with a ymmv disclaimer:

     application/x-java-jnlp-file; javaws  %s 

    where the executable javaws must be on you PATH.

  17. When I click on the "Run Beacon here" link on your website, it seems like it takes a long time for Beacon to come up and run. The disk spins, my Internet access LEDs are flashing wildly, but nothing happens fast. Why is that?

    Thank Java for that. It is resource intensive. It may take a good half a minute for Beacon to come up on a PIII 800MHz machine, and that's after the necessary jar files have been downloaded over the network. Once it's up, performance and responsiveness should improve, but the Java virtual machine will still want many tens of megs of memory to run. If you have an old machine with less than 64Mb of memory and you are short on disk space, Beacon may not work well for you. Your mileage may vary.

  18. Is clicking on the link on your web page the only way to run Beacon?

    No. There are two other Web Start-based ways to run Beacon.

    • Open a terminal window and type javaws http://www.petrovic.org/Beacon/beacon.jnlp
    • Open a terminal window and type javaws and select Beacon from the existing entries, or make a new Beacon entry with the URL above.
  19. Can I run two instances of Beacon at the same time?

    It is technically possible by some definition, but please don't do it. You will at the very least confuse your machine.

  20. My subregion is not listed in the various QTH drop down lists. Why not?

    I tried to compile a list of reasonable subregions, starting with this list and adding a few of my own. The Test-QTH-1 and Test-QTH-2 entries are for testing, and can be used to flex the app without using "live" QTH labels. I included them because when I want to test Beacon's functionality, I did not want to publish test advertisements using apparently real QTHs.

  21. Aren't some of Beacon's QTH subregion definitions redundant or overlapping?

    Yes. But I felt more was better than less. Whether configuring Beacon with your QTH information at startup or selecting a QTH representing the contact's position, choose the QTH that most closely matches. For Beacon purposes, close enough is probably good enough.

  22. How do I report bugs, feature requests, or otherwise comment on Beacon?

    Please use the application group list for these purposes. I'll read it, and other users will benefit from the open discussion, too.


Copyright 2005 Mark S. Petrovic
mark at petrovic dot org
Last modified: Tue Nov 1 20:07:56 2005