Radio UserLand is an amazing piece of software. I don't think it can be described in any single step. Here are a few ways to look at Radio from a technically educated standpoint. For additional information, browse the Radio directory or ask Radio search.
Radio is a desktop web publishing system.
Desktop based ...
The basic content of your site is structured as a weblog: a sequence of posts, dated and timed, organized in reverse chronological order.
The content is not limited to timestamped posts, you can also publish any kind of html or xml based documents, as well as pretty much anything in digital form (pictures, program archives, and so on.)
Radio operates a local http server from your desktop.
The main way to access your site's content locally is through a web browser, targeted at localhost on port 5335.
... Web published ...
Radio upstreams the content of your site from your local storage device to an Internet accessible public web server.
The public version of your site can be hosted in several ways.
The easiest way is to have it hosted by UserLand on their Radio Community Server. You are entitled to 20 Mb of free storage per year once you register.
Your site can also be hosted on your own or some third party's RCS server, the RCS server code for Windows and MacOS is available from UserLand for free.
If you're a Unix buff, as most sysadmins are, you can host your site on pretty much any web server (probably Apache), or you can try PyCS, a bona fide open source implementation of RCS developped in Python by Myelin.
... Through upstreaming.
When talking to a regular Web server, Radio acts as a simple FTP client.
If security's your concern.
Both methods of upstreaming involve a transfer of data in the clear over the Internet.
That may become an issue if your content is addressed to a restricted private audience.
There are currently two ways of addressing this:
Upstream to your own desktop using fileSystem upstreaming or a local FTP server, then synchronize your local site with the public site using rsync over ssh (that's assuming you're behind a firewall, and that your workstation is not addressable from the outside, at least using FTP).
Radio is a content management system.
At the core is Radio's object database.
The bulk of a Radio weblog is made of text, organised in chronologically identified post objects.
These posts reside in Radio's weblogData.root object database, in the aptly named posts table.
The site's structure is a hierarchy of local folders and files.
The root of your site is the www folder.
The home file of the site is index.txt. It's a regular text file, and contains no html, just a few variable declarations, and a call to a Radio macro command to access the page's actual content in the object database. When published, this file will generate an index.html and an rss.xml file.
In addition, the www folder contains several subfolders, the most important being stories and categories. Refer to the additional reference material listed in the last section of this document for more information.
A special mention for the gem subfolder: all of its content is directly upstreamed to the public server automatically every time Radio detects a change. No rendering is performed. This is where static html pages, scripts and stylesheets are stored.
HTML pages are generated via templates.
When publishing, Radio creates HTML files for all the relevant data, by parsing it thru preferences and templates.
Preference and template files are easily identified: their names all start with the pound (#) sign.
A template is nothing more elaborate than an HTML layout document that incorporates special tags interpreted by Radio at publishing time. Those tags are specified between [Macro error: Can't compile this script because of a syntax error.]
markers.
A preference file defines global variables (with names starting with a pound sign) referenced by templates (between [Macro error: Can't compile this script because of a syntax error.]
) and translated at publication.
XML files are published as well.
In addition to rendering weblog data as HTML pages, Radio generates XML files according to the RSS 0.92 specification.
RSS is a content syndication format that is fast becoming a standard on the Web. It formats your posts as news wire stories, that can be browsed with syndicated content readers such as O'Reilly's Meerkat or Radio's own News Aggregator.
Publication timing and extent.
Your site's home page is rendered and upstreamed every time you create or edit a post from your local home page. The same is true for your site's categories pages, as well as when you create and modify a Radio story (refer to the last section references for an explanation of categories and stories).
You can also force several levels of publication from the Radio / Publish menu directly in the Radio application, ranging from your home page to the whole site.
Radio is also a news feed aggregator.
The News web page of Radio's local interface lets you subscribe to any number of rss formatted wire services (all Radio weblogs are by definition rss wire services).
Radio checks those services every hour, and displays the aggregated content, sorted by source and time of publication, in the News page.
A handy Post button is available next to each story to create a new post to your weblog, citing the original content. All you have to do is delete the irrelevant part and add your own comments.
Radio is an outliner as well.
Radio's native text file format, outside of its object database, is an XML specification known as OPML, for Outline Processor Markup Language.
Pretty much everything in Radio, from text resources to internal tables to program code is presented as outlines.
Outlines are hierachical trees of text nodes. Nodes can be expanded or collapsed to reveal or hide sub-content. They can also be moved from one place in the document tree to another.
OPML adds a new twist: transclusion.
URLs linking to other OPML outlines accessible over the Web can be expanded in place and fully integrated into the current document.
This is the ultimate hypertext feature: the ability to make a virtual copy of part of one document, for inclusion in a second document, while preserving the all important context.
A lot of s l a m 's content is and will be based on OPML and outline rendering.
Radio adds another twist: the instant outliner.
Instant Outlining brings a new dimension to groupware and collaboration: adding persistence to instant messaging, leaving email behind to spammers and their ilk.
Radio is an open development platform.
A large part of Radio's higher and mid-level functions are implemented with a built-in scripting language: UserTalk.
UserTalk is quick learning for anybody familiar with Perl, Python, Ruby, Apple or JavaScript, or any kind of more or less object oriented scripting medium.
Radio has a host of objects and UserTalk macros to handle RSS and OPML XML files, as well as HTML and plain text.
It also has UserTalk accessible implementations of http, smtp, pop, ftp, soap and xml-rpc clients.
Better yet, Radio acts as a soap and xml-rpc server, and provides 2 blogging web services thru the Blogger and MetaWeblog APIs.
In this way, content may be poured into Radio through any SOAP capable piece of external code, whatever the environment.
It is also easy to implement new Radio web services, addressable from the outside.
Unless Radio is operating as a full peer on the Internet ( a dangerous situation from a security point of view), the current limit to Radio's web services offering is the nearest NAT device or firewall.
What to do next ?
Intall the evaluation version of Radio.
Try a few sample posts on your own weblog.
Subscribe to a couple of rss feeds.
Try writing a first story, and publish it.
Start to fool around with templates to alter your weblog's page layout.
Register your copy of Radio.
It's a steal at only $39.95 a year.
For that hefty sum, you get automatic updates and 40 Mb of weblog storage on Userland's server.
Check out activeRenderer, to publish more attractive and dynamic weblog pages, and browse through thousands of news feeds in easy to scan outlined layout.