[FoRK] CanyonBridge is giving me an allergy to the phrase "patent pending"

Ken Meltsner meltsner at gmail.com
Tue Dec 14 13:35:44 PST 2004


I'm not sure what secret sauce these guys have, but it sounds a lot
like mod_pubsub, with a bit of XMLHTTPRequest added for extra flavor. 
Micro-page refresh (TM) sounds a lot like setting innerHTML
properties, for example.  And declarative modeling is good ol' rules
and constraints, possibly with continuations thrown in as the

They appear to have done good work, but I hate the spiel.  They may
have done brilliant work, but it's hard to tell with the fog of
marketing obscuring the details.  And the technologies sound ominously
obvious without the fine details.

Ken Meltsner

Technology Concepts Continued: 

Object instantiation at Runtime

When creating an application, Web services are treated as "black
boxes" in that their services and access methods are fixed. Often, the
need arises to create intermediate objects that either combine or
fragment properties from multiple objects or objects from multiple
services. cbIntegrate's patent pending technology has the ability to
easily create runtime objects that are not represented in any
connected services. The addition of these objects can make it much
easier (or even possible) for the developer to express the intended
application paradigm.

Automatic Persistence Mapping

Objects created using cbIntegrate can be simply marked as persistent
to be stored automatically in a relational database, dramatically
reducing the work required to create enterprise applications. The
database tables themselves will be automatically created if they don't
yet exist when invoked. cbIntegrate supports four open source
databases (MySQL, Firebird, Postgress and SQLite). Microsoft SQL
Server will be supported in the very near future.

Micro-Page Refresh™

cbIntegrate uses a new patent-pending technique to deliver user
interfaces that look and feel like desktop user interfaces called
Micro-page Refresh. When the user makes a change in a scrollbar or
type-in in the application in his browser, cbIntegrate packages that
change with just enough information to uniquely identify its context
and sends it to the server. This is in contrast to most Web
development models that must send the whole page when something
changes. The server processes the data and packages its response with
the context necessary for the client to know just where to put it,
changing only the required controls on the client (instead of
re-rendering and re-transmitting the entire page, as most Web
applications do). This innovation, along with many others afforded by
cbIntegrate, allows a Web application to feel "live", "friendly" and

Many UI Views of Objects

cbIntegrate provides many ground-breaking techniques to allow a
developer to easily create and maintain truly first-class Web user
interfaces. cbIntegrate supports the automatic connection of many
simultaneous user views of applications. Much like the commonly
understood database "view" that is a particular reusable selection of
fields in a database record, in cbIntegrate parlance a "view" is
really a window into the state of an application object and can
contain any number of user interface elements such as bitmaps or radio
buttons. When an object's state changes, all of its associated views
are automatically updated by the system to reflect that change. Views
can be imbedded in other views, encouraging view reuse. cbIntegrate
also supports the very advanced notion of "virtual views": views that
can be selected automatically by the system at runtime according to
the kind of data entered, greatly simplifying application logic.

Scalability Features

cbIntegrate incorporates many scalability features needed to provide
enterprise-scale installations including a server load balancer
designed to distribute the Web transaction load across server
instances, a console for administering the server farm (deployed as a
set of Web service interfaces) and Web services-based resource
allocation management.

Application Designer Tools (The Builder)

cbIntegrate's application designer tools (sometimes referred to as
"the builder") are built with (the previous version of) themselves and
thus are fully interactive server-based Web applications. cbIntegrate
includes an interactive schema designer, a visual layout manager, a
workflow debugger, optimization tools, Web services management tools
and incorporates team project management facilities.

Declarative Modeling

Declarative language is the patent-pending method used by cbIntegrate
to describe applications by setting properties in the cbIntegrate
builder. This technique represents a huge increase in developer
productivity since it does away with the tedious and error-prone
process of coding common application workflow. It includes interactive
modeling of application logic, managing flow and session state,
managing user context and interaction.

Thin-Client User Interface

Thin clients are those that have no installation (or maintenance)
requirement on the client itself and thus are "thin". CanyonBridge's
definition of "thin client" imposes the additional requirement that
there be little or no application-specific logic downloaded to the
client. Many supposedly "thin" clients have a surprising amount of
application logic imposed on them (e.g. Microsoft OWA), bogging down
performance and creating maintenance problems, as well as security
concerns. Generally, user interfaces in a cbIntegrate application are
created in DHTML (Dynamic Hypertext Markup Language) augmented by
JavaScript, and thus can be edited in any HTML editor. The initial
system download to the client for a sophisticated cbIntegrate
application (including bitmaps) is on the order of a few hundred
kilobytes (about the size a medium-sized .jpg file). The load of
bitmaps and JavaScript are cached on the client and run from the
client browser's local object cache on subsequent invocation.

Reusable Individual Custom Controls

While the cbIntegrate thin client management comprises much of the
client payload, really first class applications have "payoff"
interaction, such as cbConnect's calendar or inbox. Some of the look
and feel of these controls is the result of handcrafted DHTML and
JavaScript, and is additional to the standard application initial
download. These custom controls, however, are fully reusable in other
contexts since they follow the view reuse model inherent in all
cbIntegrate applications.

<< page 2

More information about the FoRK mailing list