Our Technology:
We have developed a new method of creating and storing web pages. That method is outlined in our patent, Computer systems and methods for platform independent presentation design, U.S. patent number 7,236,982.
The One Sentence Explanation:
Our patent outlines a system for creating and storing visual presentations, such as a web page, in a platform independent manner by dividing a presentation into a series of hierarchical splits where each split can either hold additional daughter splits or data objects for display.
What That Means:
We are able to store a web page in a language free format in a database so that it can be output in any display language. Furthermore, our method renders templates obsolete for certain types of sites, because by storing a presentation as a series of hierarchical nesting instructions in a database we can also insert dynamically generated database content into the presentation at display time.
The Big Advantages:
1. Presentation is Freed From Code
We store presentations as data instead of code. You can create a presentation once and output it in HTML, XML, Java, or any other display language. Our method will prevent you from having to maintain multiple versions of the same presentation, and means that moving to a new platform will be easy.
2. Goodbye Templates
Our system gives users the ability to create and insert many different types of content into a web page that is laid out to their personal design specifications.
Imagine a service that allows users to put a blog, user profile, and photo gallery all on one page, and gives them the ability to control where those items appear on the page and how they look. Currently, templates on social networking and content creation sites force users into narrow boxes holding one piece of content with one layout. Our method will free them.
3. Hello File Sharing on Steroids
Because database driven content can be dynamically inserted into any presentation, all content stored in the system can be shared with fellow members via a permission-based system. Since users control how content looks and where it goes, they can seamlessly add shared files into their own web pages.
The Nuts and Bolts:
Our system calls a visual presentation a layout. A layout is stored in a database as a branching hierarchy whose chief purpose is to divide a canvas (the top split) into a series of spatial subdivisions called splits. A split is a container in a visual presentation that possesses dimensional properties (height and width), orientation properties (horizontal and vertical), ordering properties (position), and inheritance properties (parent split). It is the combination of these four properties that allows a complex visual presentation to be broken down into a hierarchical relationship and stored in a database.
Below are the splits in the layoutdata table that make a up layout called Demo. The splits are ordered by the parent column with the top split as the first record in the table.
These splits form a branching hierarchy. The parent/child split relationship and the type column are responsible for determining the branching in this hierarchy. When a child split has an orientation type (represented by H for horizontal and V for vertical) that is opposite to its parent split, the hierarchy branches. A split with a type of D, does not have any children splits and will be a visible container in the presentation.
Below is the layoutdata table as a branching hierarchy. You will note that all splits with a type of D are leafs in the hierarchy.
This branching hierarchy in reality is the transformation of a visual presentation of information into data so that it can be stored in a language free format. Each branch in the hierarchy changes the orientation of how items will be arranged on the page so that items can be placed on a page in a complex non-linear manner.
A layout is constructed by calling the top split in the layout, then having that top split retrieve its child splits, which then retrieve its child splits, and so on until a full tree has been assembled. At that point the tree is passed to a conversion engine which outputs the presentation in a display language.
The figure below is the visual manifestation of the layoutdata data presented above in tabular format. It has passed through the conversion engine and been output in HTML. Only splits with a type of D are visible in the figure. Splits with an H and V type are parent splits that make up the underlying structure of the presentation through hierarchical relationships, spatial dimensions, and orientation parameters. Normally content would appear in these splits, but it has been omitted for demonstration purposes.
See For Yourself:
Portions of our technology are currently in use at Blockstar. To see web pages created using our system visit Planet Block. You can see a product demonstration (albeit a rather low budget one), here.
Blockstar is close to releasing a web-based AJAX version of its website builder. In the meantime, you can create an account and try our desktop Java website builder.
Interested Parties:
If you are interested in licensing or acquiring this technology, please contact Chris Furlong at chris@blockstar.com or (323) 287-6833.
