Skip to content


New Compiler!

I’ve built a completely new Javascript compiler, and it could probably be used in other projects as well. It parses through a set of HTML comments such as <!–Begin JS Compile–> and <!–Stop JS Compile–> and strips includes, merges them, and runs it through YUI compressor.

Posted in Ajax Animator.


New Ideas

Okay, some new features include a status bar. The status bar is not like most applications, on the very bottom, but on the bottom of the canvas tab. The controls have been removed in the Canvas. So, you view the animation via the preview tab- only. The Preview tab will preview using a internal javascript based viewer, unless otherwise defined, and will continue from the current position. The status bar will contain the current frame of the animation, and so will the animations browser.

There might be a new “Frame” panel in the accordian. The tab will be a tree view with a list of every shape on the canvas. Click on any one, and a properties window with a Property Grid pops up where you can set data manually (x, y, path data,etc)

The Next, Last frame button will be on the right side of the status bar, and there will be a menu next to it where Play-type functionality is offered (some tricks revolve around it)

The “Properties” panel will be ressurected, so it will no longer be a useless panel. It can be used to control rotation, x,  and width, and such.

It will now use OnlyPaths instead of PGF.

And it might have the ability to update (minor versions) itself. It will update everythign except the server scripts

Posted in Ajax Animator, OnlyPaths.


Non-Usable Ajax Animator 0.2 Demo

As you may know, version 0.2 is a *complete* rewrite of the Ajax Animator, with completely different coding styles.

Here is version 0.6 alpha 1. It is the first phase of the transition (see roadmap), and is therefore not usable.

It is more of a mockup than the actual application.

http://antimatter15.110mb.com/animator/Animator2/html/ajaxanimator.htm

(mind the letter casing)

It will take *forever* to load (yes, longer than my stable app) because it has not yet been optimized/compiled (didn’t make my compilier yet :P).

You might notice that the icons (notably the File menu) are more closely match that of the other parts. For some reason, I used icons from another iconset (i think it was mini) but now i’ve switched entirely to silk. and the result is quite nice.
With the file menu, the Open submenu has a new option.  “From URL”, which means you can load from another server hosting a file. Likely this will not be enabled on my production server though.

The Edit menu comes with better organization of the buttons. There is now a Redo button along with the Undo button (and more!). there is also now Cut and Delete buttons on the menu.

In the View menu, you see a list with all the panels (timeline, tools, misc, properties) that you can toggle to hide/show. But the Theme submenu has been greatly improved. it has virtually double the themes you can choose from (and a much nicer implementation). Note: Changing themes actually works.

The Tools menu was expanded, and has new icons (still from silk). It is not yet complete (see drawing submenu).

The timeline has more, nicer icons that more closely relate to the action. Its organized better, and has some buttons that were relocated from the animation menu.

The animation menu hasn’t changed that much other than switching from a Blue control set to a gray one (likely will be changable by user preference), and again, better organization and a nicer icon for “recalcualte tweens”.

The effects menu has been renamed to the Plugins menu. The first item is a “Add Plugin” button (does not work, as with everything else). It is followed by a seperator, and two “plugins” (immigrated from the current version)

The User menu has been changed little otehr than the new icons, and a few new buttons (login, profile)

The help menu is organized better, with the tutorials now on a seperate submenu. the icons relate to the context better, and there is a comments and bug reports button.

[More to be overviewed soon]

Posted in Ajax Animator.


Today’s Updates

Some relatively small changes today.

More icons were added, fixed bug where icons would not work on the main tabpanel. Now it works, and there are nice tabs outlining Canvas, Preview and Animations. The Misc (east) panel and the Properties (south) panels now have icons.

The Canvas status bar has been redesigned (sorta to resemble the Ext Grid Paging toolbar). The scripts used here now accurately handle the status bar (with the “busy” icon working)

The About window has been improved somewhat (just adding more to credits). and some more information in the version tab.

The FAQ button on the Help menu now works (its now tied for the most functional menu in the app, with two working buttons! second is the Tools menu which has two working buttons – Debug and Preload). It has no real content, but it demonstrates how the layout will be (a new closable tab is added to the center panel)

The demo server has finally caught up with my local server. Sadly, since CSS/Images are not synchronized by the Auto-Deploy/Compile system, some edits do not work fully on the demo server (the logo didnt show in the about dialog). Now the main compiled app is almost fully synchronized. so it supports a new theme (midnight).

Again, the url is:

http://antimatter15.110mb.com/animator/Animator2/build/ajaxanimator.htm

Oh, and check out this awesome updating mask (basically, when updating, this little page pops up)

http://antimatter15.110mb.com/animator/Animator2/build/updating.htm

Posted in Ajax Animator.


Ajax Animator 0.2 Roadmap

0.15:
Current stable release

0.16:
Create User Interface with Ext 2.0

0.17 – 0.18:
Integrate PGF
create drawing base abstraciton layer
build tweening engine
create new flash compilier (based on JSON rather than XML)

0.19:
Improve user management
Create Animation Browser

0.20:
Browser Compatability
Bugfixes

Note: It is unlikely that the save format will remain compatable.

Posted in Ajax Animator.


Summary

The next version will have a user interface built around Ext 2.0, and will incorperate alot of new user-interface components such as Accordians, tree panels, and more grids.

The codebase will be largely rewritten, and the entire tweening/animation/saving/svg/swf system will be scrapped.

Posted in Ajax Animator.


Skipping 1.6

I’m gonna skip version 1.6 and go straight to 7. I’m gonna have to change my roadmap a bit, as the next version will have a *completely* redesigned interface.

Partially due to the switch from the ext 1 to ext 2 default theme, but also because of some new features, making better use of screen estate, and making things more intuitive.

And a short rant:
[rant]
Firefox *is* and operating system. Whether you think of it or not, its a fully fledged operating system. What sucks, is that it is that it is running ontop of another operating system (say, windows). We all know that *most* operating systems are terribly bloated and slow. Windows (the second os i’m using now) and Firefox (my OS) are not necessarily the most optimized, streamlined, fast, and un-bloated systems out there. I’d consider them the most bloated operating sytems possible. So any Web 2.0 app is coded in a highly unoptimized interpreted language. Not only, you have to hack it several times just to get it to do something cool. So, interpreted languages already are infamous for their speed– combine that with the two slowest operating systems out there, layered, and what do you get? you get a horrifying piece of crap.

Note: this is probably flamebait, but i actually do consider IE to be slower than firefox. I pity everyone who still uses it, and i’ll pity you even more when you realize how unbearably slow Web 2.0 apps are on there– and i wouldn’t count on IE 8 improving that, benchmarks report that IE 8 is slower than IE 7/6 respectively.
[/rant]

I dont have any screenies so….

Redesigned timeline layout. Sorta looks like a clone of Adobe’s but different at the same time.

Its no longer the “history” tab (on the east panel). Its now the “Misc” tab, and it contains an accordian panel.
The panel has 4 subpanels:
-History, which is the same Ext grid as in the current version
-Clipboard: I currently have a simple one-dimensional Copy/Paste system. The new version will have a History-like clipboard manager, with infinite storage (crap! i’m killing the least efficient platform evah!).
-Library: The new version will support a general clipart libary. It is filled with simple vectorized graphics. I’m invisioning a community-generated/organized tree-view with folders catagorizing the thing. and a drag/drop interfacing for using them.
-Misc: misc. i donno whats gonna go here. maybe a “don’t press this button” button that counts how many people pressed that button :P

The center panel, traditionally divided into two segements, Canvas and Preview (adobe only has canvas), will now be orgainized into three. The Canvas, Preview are still there, and an added one is the “Animations” tab. The animations tab is where users can view, play, import other users’s animations. It is a way to encourage collaboration, innovation, and to generally make it more intutive.

Not just the user-interface will be modified. but the application will be practically rewritten. It will switch from MD5 to SHA1 passwords. and the greatest change in project history: Transitioning out of RichDraw

It has become apparent that Richdraw is quite incompetent. There is no interoperatability between the rendering engines (read: IE can not collaborate with Firefox/Safari/Opera). It has poor abstraction of the drawing format, so modifications to the canvas are normally done directly with the format. It has no documentation whatsoever, and its capabilities are very limited. It has no support for alpha transparency, no paths, images,text, scaling, panning, clipboard,z-index, groups, and much more horrific details.

There are two projects that can improve on this issue. One, is OnlyPaths by a member of this site, josep_ssv. OnlyPaths is based on richdraw, but fixes it alot. It is a very active, new project, and has reached outstanding feature set already. I contributed to the project some (i wrote the save format, and submitted some patches). There is only one problem with OnlyPaths: Browser Compatability. Its a sort of SVG R/W and VML RO system. Basically, SVG enabled browsers can draw, and save to full extent, meanwhile IE can import but not export. IE support is basically that of Richdraw.

The second project is Prototype Graphic Framework (or Class) (aka PGF/PGC). It is not as active, and has not been updated in quite a while, but it has superior docuemntation, a nice API for transformations, a Canvas renderer and is very stable, mature and powerful. its disadvantages are that its not a very active project, with some half-baked features, lacks PATH support, and has no real editor component.

After lots of thought, I’ve decided to use Prototype Graphic Framework for this version. Mainly because of browser compatability, and that PGF is much more mature. But the transition to OnlyPaths is inevitable in the near future when it is better with browser compatability and becomes more mature.

I’ve decided to use polylines rather than paths becuase of ease of porting the drawing engine to polylines and because polylines work better with cross-browser.

At first, i looked for a way for IE to use SVG, but once i realized that what I really needed to do was to create an entirely new format supported by both rendering methods. I used JSON (JavaScript Object Notation) for the format, as it is very portable, fast, and the native format of javascript. Basically it is a set of instructions for what to tell the drawing API to draw.

Posted in Ajax Animator.


Help!

A main factor to the project not being as good as it can be, is that there are no *good* flash-generation tools that fit my needs. Currently, i do not have the money to buy a dedicated server or so to install Ming on, or etc. I have this free shared web host (which i have to say is fine).

Is there anyone that can improve the freemovie library? Or write a new one?

Posted in Ajax Animator.


Project “Philosophy”

The project is made with several ideas in mind. Mainly, to maximize client-side code. It is for several reasons. It’s easier to get the whole picture when looking at the source. It is also easier to make offline.

but, above all, i suck at PHP.

Posted in Ajax Animator.


Google App Engine

I’m gonna try signing up for Google App Engine, and migrate the project there. If and when this happens, I will likely rewrite the entire server backend to be powered by python. This is a good thing, as I might be able to use http://pyswftools.sourceforge.net/examples.html, which is clearly quite amazing.

Posted in Ajax Animator.