AccDC2 Released: a powerful dynamic content management framework for accelerating dynamic behaviors for Rich Internet Applications

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

AccDC2 Released: a powerful dynamic content management framework for accelerating dynamic behaviors for Rich Internet Applications

Bryan Garaventa-2
When I started this project at the end of 2009, my goal was to prove that it was possible for a fully blind developer to build a visually oriented UI management system, and to accomplish something that has never been done before; which I believe I have now done. So here's what's new.

The original AccDC was written as a jQuery plugin. Unfortunately this severely limited its versatility and inflated its codebase unnecessarily. So I rewrote AccDC, which can now be used as a standalone API, or in conjunction with jQuery, YUI, Ext JS, Prototype, Glow, Dojo, GWT, MooTools, Processing, Raphael, X, Tridion, or any other JavaScript library or framework without conflict. I also reduced its codebase by 40%, doubled its processing speed, and completely redesigned its object model to be self-referencing. My focus in rewriting AccDC was minimalism, so that all features are designed to be as condensed, powerful, and fast as possible.
 
So here's the concept:
Imagine the Document Object Model, where DOM trees are nested within DOM nodes within DOM nodes.
AccDC works in the same manner by asynchronously generating AccDC Objects, which are configured, nested, interfaced with, and function autonomously.

AccDC Objects can represent any type of UI component, including dialogs, page tabs, static sections, context menus, tooltips, panels, prompts, images, animations, videos, players, or anything else; including HTML5 support.

Features include asynchronous processing, parent/child traversal, dynamic extendibility, method chaining, direct object referencing, and much more.

Functional AccDC Object setup files can be viewed at
http://whatsock.com/js/ready.js
http://whatsock.com/js/demo.js
and
http://whatsock.com/files/demo/chat/js/init.js

I've also added something fun on the Live Demo tab under "Drag & Drop", which is a starscape with draggable planets. If you drop a planet outside of the proper drop zone, it will mosey on over to the sun, dive into it, magically pop out from behind the sun and fly back to its original position, then zoom back into focus. All of which is completely useless of course, but I couldn't resist the challenge. :) (Not bad for a blind guy though if I say so myself...) Also the sun is draggable too, but I didn't configure this to be keyboard accessible as well, since it doesn't really matter where you stick it. The images for which are courtesy of the NASA Image Gallery, so thank you NASA for some awesome shots! I can't see them but I hear they rock...

As a secondary (but not insignificant benefit), AccDC now makes it possible for blind UI developers to build fully functional and visually appealing RIA designs while minimizing the need for sighted dev revamping. Since I haven't seen anything since 1994, I guess I can say I've proven this concept... There's also a cool feature for screen reader support, the "$A.announce()" method, which is also prototyped to the String object so that successive strings or DOM nodes can be announced in rapid succession without overlapping. (Perfect for realtime chat applications)

In practicality though, AccDC is designed for use by everyone, the power and speed of which can be incorporated into any architecture, platform, or framework that supports JavaScript.

And that about sums it up. It's much more complex than that of course, including events and event handling, flow and behavioral controls, DOM node morphing, extensions and prototyping, and much else, but you can read all about that on the Core API tab at
http://WhatSock.com

All the best,
Bryan Garaventa
http://www.linkedin.com/in/bgaraventa
_______________________________________________
dev-accessibility mailing list
[hidden email]
https://lists.mozilla.org/listinfo/dev-accessibility