Sunday, March 26, 2023
Introducing Boxely

By  AOL's Boxely Team
Guest Sponsor Writers

Before SRM 345, representatives from AOL will join TopCoder members in the Arena to discuss Boxely™. What is Boxely, anyway? Here's some information from AOL:

"A fairly radical change is sweeping through the world of application development, driven in great part by the increasingly sophisticated ways that XML is being used. The idea is simple--just as you can put together a web page by using a number of HTML tags to describe the 'bones' or structure of the page, so too can you describe the visual pieces, the GUI, of an application using an XML application description language."
Kurt Cagle, Thinking Inside the Boxely

Boxely is a next-generation, standards-based development platform for creating rich desktop applications. Combining the benefits of a box-based layout scheme with an advanced rendering engine, Boxely is designed to enable the creation of rich desktop applications with the same ease, flexibility, and extensibility as authoring internet applications today.

Starting with the simplest level, the XML file describing a Boxely application comprises a hierarchy of boxes that represent rectangles on the screen. In addition to the application window, boxes represent interactive controls, images, and text. Boxes can be arranged and styled in a wide variety of ways as well as programmed to respond to user interaction and timeline animation.

A Boxely application is made up of XML and JavaScript files that describe a user interface and the logic behind it:

  • .box files - XML documents that describe and present the user interface of your application.
  • .js files - JavaScript files containing functions that control the application logic.

With built-in support for layering, compositing, animation, data-binding, accessibility, and more, Boxely enables developers and designers to create interactive applications with the same ease, flexibility, and extensibility as creating internet applications.

At the core of Boxely is the Open Client Platform (OCP). The OCP enables Boxely to extend its functionality through the use of modular libraries called services. Services provide functionality previously unavailable in Javascript, making it possible to build real applications using only a scripting language. Available OCP Services include:

  • http - Provides HTTP connectivity to web servers, enabling web tranactions.
  • maxiXML - Provides the ability to manipulate XML using a DOM model. Also enables the use of XML-HTTP requests.
  • basics - Provides useful data structures and utilities including containers, streams, timers, 64-bit integers, and sorting.
  • localStorage - Provides an SQL-based database storage on the client machine.
  • urlData - Provides the ability to asynchronously load data that is referenced by an URL.
  • urlDispatcher - Provides a mechanism where URLs can be dispatched to the operating system for handling.

Boxely is the UI technology for several current AOL products, including AIM 6.0, AIM Lite, and the OpenRide client.

Boxely currently runs as a Windows desktop application, though AOL is working on Boxely plugins for Firefox and Internet Explorer that will enable Boxely to run within the browser. AOL is also working on Boxely Builder, an application generation toolkit, and is considering developing Boxely for OSX and Linux.

Learn more: