A method of webcasting wherein a given webcast event has been reserved by providing a webcast event with an event identifier, access code and attendee URL, comprising:
- initiating the webcast event at one or more locations (a) by verifying that a value derived from a one-way hash of the event identifier entered by a host together with a shared secret matches the access code entered by the host;
- and (b) upon verification, encoding speech data into a data stream, wherein the speech data is derived from speech of a speaker;
- enabling a listener, who is an audience member, access to the data stream (a) by returning to a client browser launched to the attendee URL a data structure including one or more stream URLs at which the data stream can be obtained, wherein the so that the listener can hear the speaker, who is not an audience member, during the webcast event;
- as the webcast event progresses, storing a copy of each data stream in a local data store;
- upon interruption of the speech data, transferring a copy of the stored data stream to a central storage;
- upon completion of the webcast event, automatically generating an archive;
- and
- at a later time, enabling access to the archive using the attendee URL.