|
|
Conventions:
CUF - Creativyst Universal Formatters
A recommendation for open, easy-to-use message formatting
(w/source code)
What Is CUF?
CUF(tm) codes are openly developed message formatting instructions that allow
users of your appliction to include elements of style, design, and layout
within their messages and documents in a simple, easy-to-understand way. At an
administrator's option, users inputting messages into CUF(tm) compliant
applications may also include links, glossary entries, and even tables within
their messages.
Firstly, it is important to understand, that there is nothing new here.
These format codes are based on bracket-styled codes that have been used for
a long time on the web. I was first introduced to them as UBB (Ultimate
Bulletin Board) codes. At Creativyst, a clear need was recognized, early on,
for a library
of formatting functions that can be used to implement formatting in multiple
applications. These descriptions serve as the specification for that library.
As the HTML specification continues to develop into a robust document markup
language, a need has emerged among non-IT professionals for formatting codes
that are easy to use and understand. With this in mind, CUF has been designed
to be useable by people in all professions, not just web and content design
fields.
CUF Benefits
The idea behind CUF-style message formatting is not new by any means. This
recommendation borrows heavily from similar formatting codes that have been in
use around the web for many years and primarily incorporated into bulletin
board systems such as Ultimate Bulletin Board (UBB), Yet Another Bulletin
Board (YaBB), and many others.
The goal here is to cooperatively develop and distribute a core set of
these codes that can be maintained as a single coding effort for the benefit of
all who incorporate them into messaging applications and those who use their
applications. Such a cooperative effort affords many benefits to developers
and end users alike. Just to list a few:
-
CUF Is Easy and Inclusive
As the HTML specification continues to develop into a robust document markup
language, a need has emerged among non-IT professionals for formatting codes
that are easy to use and understand.
-
CUF Works Well In XML #PCDATA Element Types
As XML becomes the preferred mechanism for information distribution, a
formatting system with no SGML lineage or syntax will allow simple formatting
to be included within XML elements easily, without using cumbersome escaping
sequences.
-
CUF Is Easy to Add to New
and Existing Messaging Applications
Just follow the instructions provided in these
support pages to have CUF compliant message displays and help screens in
your application by the end of the day today.
-
Users and Administrators Benefit from
Cross-Platform Interoperability
For example, a webmaster can install CUF compliant glossary software from
one vendor, and CUF compliant forum software from a different vendor.
Forum visitors will then be able to include links to the glossary within their
forum messages in a familiar way without concern or knowledge of
interoperability issues.
-
CUF(tm) Promotes Good Code.
A cooperative effort on format codes will shield developers from an otherwise
bug-prone and reactionary work method that interrupts them regularly to add the
latest must have format code.
-
CUF(tm) Improves Security
Having one single implementation of formatting functions allows the code to be
exercised widely. This means there are more opportunities for hacker
vulnerabilities to show up faster. Thus, cooperation on core formatting codes
will produce a stronger, more secure set of formatting functions for everybody.
-
Basic formatter codes are not a good mechanism
for differentiating messaging based products.
There are a core set of formatting codes which everybody must have to be in the
game and the set is always expanding as newly developed format codes become
known. When one product adds a new formatter that users like, everybody else
will quickly add it to their products as well. This really isn't a
differentiator, just thousands of hours of interrupted developer time
(collectively). This developer time would be better spent adding real
improvements in end-user security, privacy, ease-of-use features, and product
functionality.
CUF Design Goals
The W3C has chosen to move toward separating content from format in newer HTML
standards. This has taken HTML from being a formatting standard that was
already difficult for non-IT professionals to use, to a document standard
specifically for use by programmers and web-page designers. This was not a bad
decision by the W3C. As mentioned, HTML's utility as an end-user formatting
code was already questionable to begin with. As HTML standards become more
complex, a cooperative effort on simple formatting codes can fill the
void. Such an effort should embrace simplicity and ease of use over technical
flexibility so that the non-IT community can best benefit.
For this reason, the overriding philosophy for this recommendation is
simplicity for end users. This in turn drives the design goals which are:
- Simple for non-IT professionals to use
- Extremely low initial learning barrier to users (typing text)
- Flexibility when required despite easy learning curve
- Non-SGML syntax in order to compliment SGML based markups
- Easy for developers to add to new and existing applications
- A secure, consistent, concisely defined interface
- Open source and community
I'm a developer. How do I add
CUF to my application(s)?
For developers in any of the currently supported languages, adding CUF
compatability to your applications is easy.
- Download
the code from this site and add it to your application's code.
- Make a function call to CUF() just before displaying any messages.
- Cut and paste the HTML code provided here for the link to our help and
support documents and display it near the message entry fields in your
application.
That's all there is to it. Your application now supports bug-free formatting,
including clean, well formatted user-help documentation. It is the same
whether you're incorporating CUF into new designs or existing
applications.
When the JavaScript version of CUF becomes available, you will be able to
add links to your message-entry forms to let writers preview how their messages
will look (without using any WAN bandwidth).
Document Outline (a work in progress...)
-
CUF Information and index page.
This page. Serves as a 'top' index into all things CUF.
- Text of The Standard
This is the actual standard which governs CUF code development. This
is written for developers who want to inlcude CUF capabilities
in their web-based applications or implement their own CUF
interpreter. This document will probably be of little use to you
if you are not a programmer or have no interest in what's going
on under CUF's proverbial hood.
The current version is 1.0a.
- CUF Code Reference
A complete list of all of CUF's formatting tags. Tells if they are
a basic part of the standard (core), included at the option of the
administrator (toggle), or only part of special applications
(implementation). It also lists any "obsolete" CUF codes just
for completeness.
© Copyright 2002, Creativyst, Inc. (last
update: 20-Apr-02)
All Rights Reserved
|