| 
 
 | 
  
 | 
 
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
  |